-1

可能重复:
从两个逗号分隔的参数作为输入更新表

我在前端有一个 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。通过存储过程如何可以更新到表中。

4

2 回答 2

0

您可以创建一个存储过程可以调用的函数来拆分输入参数。

请参阅:如何拆分字符串以便访问项目 x?

于 2013-02-04T06:02:32.433 回答
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将and替换@sOrder为您的 SP 的参数。

必须补充一点,这个网站几乎回答了这个问题:Social MSDN

于 2013-02-04T06:36:37.360 回答