我正在开发一个原型,我可以在其中动态访问 SQL 服务器。表名和列名应该在运行时可配置。
例如:如果选择表或插入记录,我应该将这些值传递给带有表名、列名和参数的原型类。班级应该负责其余的工作。
我正在尝试建立该课程。
关于建议的开始步骤的建议。
谢谢
也许这很有用...
//方法
public void insertCheque()
{
try {
SqlParameter[] param = new SqlParameter[5];
param[0] = new SqlParameter("@IdBankChequeBook", SqlDbType.Int);
param[1] = new SqlParameter("@IdBankChequeType", SqlDbType.Int);
param[2] = new SqlParameter("@IdBankChequeStatus", SqlDbType.Int);
param[3] = new SqlParameter("@TransType",SqlDbType.Int);
param[4] = new SqlParameter("@ClientID",SqlDbType.Int);
//向存储过程发送sql参数
SqlHelper.ExecuteNonQuery(Connecting.LCM, CommandType.StoredProcedure, "InsertBankCheque",param);
}
catch (Exception ex)
{
}
}
//存储过程相关
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[InsertBankCheque]
@IdBankChequeBook int ,
@IdBankChequeType int ,
@IdBankChequeStatus int ,
@TransType int ,
@ClientID int ,
As
Insert into BankCheque
(
IdBankChequeBook,
IdBankChequeType,
IdBankChequeStatus,
TransType ,
ClientID )
values
(
@IdBankChequeBook,
@IdBankChequeType,
@IdBankChequeStatus,
@TransType,
@ClientID )
DECLARE @ColName nvarchar(4000)
DECLARE @TableName nvarchar(4000)
DECLARE @ColName2 nvarchar(4000)
DECLARE @Parameter nvarchar(4000)
set @TableName='tblTest'
set @ColName='ID'
set @ColName2='colValue'
set @Parameter=1
DECLARE @sql nvarchar(4000)
SET @sql = ' SELECT '+@ColName+' from ' + @TableName+ ' where '+@ColName2+'='+@Parameter
exec(@sql)
这就是我正在做的。您可以将上面给定的参数传递给存储过程,这将起到作用