可能重复:
Update a table from two comma separated parameter as input
我在前端有一个Gridview,其中Grid有两列:ID和Order,如下所示:
ID Order
1 2
2 4
3 1
4 3
订单栏是可编辑的。现在,如果我想更新订单并进行保存,我想将其存储到数据库中。我已将ID和Order存储为逗号分隔的字符串,如sID(1,2,3,4)和sOrder(2,4,1,3),并作为输入参数发送到SQL Server。通过存储过程如何更新到表中。
答案 0 :(得分:0)
你可以创建一个 Function ,你的存储过程可以调用它来分割输入参数。
答案 1 :(得分:0)
来自各个网站的消息来源:
DECLARE @sID nvarchar(max) = '1,2,3,4'
DECLARE @sOrder nvarchar(max) = '2,4,1,3'
DECLARE @Split char(1) = ','
DECLARE @xSID xml
DECLARE @xOrder xml
SELECT @xSID = CONVERT(xml,'<root><s>' + REPLACE(@sID, @Split,'</s><s>') + '</s></root>')
SELECT @xOrder = CONVERT(xml,'<root><s>' + REPLACE(@sOrder, @Split,'</s><s>') + '</s></root>')
SELECT [Value] = T.c.value('.','varchar(20)') FROM @xSID.nodes('/root/s') T(c)
SELECT [Value] = T.c.value('.','varchar(20)') FROM @xOrder.nodes('/root/s') T(c)
将@sID
和@sOrder
替换为SP的参数。
必须补充一点,这个网站几乎回答了这个问题:Social MSDN