-1

重複の可能性:
カンマで区切られた 2 つのパラメーターを入力としてテーブルを更新する

フロントエンドに Gridview があり、Grid には次のような ID と Order の 2 つの列があります。

 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

Stored Proc が呼び出して入力パラメーターを分割できる関数を作成できます。

参照:項目 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)

SP のパラメーターとして@sIDandを置き換えます。@sOrder

このサイトが質問にほとんど答えたことを付け加える必要があります:ソーシャル MSDN

于 2013-02-04T06:36:37.360 に答える