正在开发一个Prototype,我可以在其中动态访问SQL服务器。表名和列名应该在运行时可配置。
例如:如果我选择一个表或插入记录,我应该将这些值传递给带有表名,列名和参数的原型类。而且班上应该照顾其余的。
我正在努力建立这个班级。
建议采取的步骤建议。
由于
答案 0 :(得分:0)
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)
这就是我在做的事情。你可以将上面给出的参数传递给存储过程,这将做一个技巧
答案 1 :(得分:0)
也许这很有用......
//方法
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 )