C# 动态更新多行SQL存储过程

C# 动态更新多行SQL存储过程,c#,sql,.net,web-services,stored-procedures,C#,Sql,.net,Web Services,Stored Procedures,我有一个包含(TIID、TID、catid、itemid、quantity、price、isdelete、entryNumber)列的事务清单表。我插入了两条记录,TID默认为空。当我执行更新存储过程时,我想用我在where TIID IN(@TIID)中的id更新所有TID null列。 插入记录后的表格 存储过程 ALTER procedure [dbo].[UpdateTIID] @TIID nvarchar(max), @TID nvarchar(50) as begin decla

我有一个包含(TIID、TID、catid、itemid、quantity、price、isdelete、entryNumber)列的事务清单表。我插入了两条记录,TID默认为空。当我执行更新存储过程时,我想用我在where TIID IN(@TIID)中的id更新所有TID null列。

插入记录后的表格 存储过程

ALTER procedure [dbo].[UpdateTIID]
@TIID nvarchar(max),
@TID nvarchar(50)

as
begin
declare @sql nvarchar(max)
set @sql='Update TransactionInventory Set TID='+ @TID +'
          where TIID IN ('+ @TIID +') '
          print @sql
exec (@sql)
end
C#代码


您使用的是哪种数据库管理系统?(该SP代码是特定于产品的。)在运行c#之前,请在SQL Server Management Studio中运行该查询。SSMS中的错误消息要好得多,错误看起来像是在存储过程中;但是当我通过scaler变量(@TIID)传递所有id时,只有一行被更新,@TIID有两个id,用逗号分隔。我想更新所有行的id=TIID。