2

複数の値を選択するためのチェックボックス リストがあり、1 つのパラメーターを使用して、この複数選択された値をストアド プロシージャに渡したい

insert into tblAccessRights (roleid,customerid,SubcustomerId)
values(@_roleid,@CustomerId,@SubcustomerId,)

上記のクエリでは、@SubcustomerId はチェックボックス リストから複数選択された値を保持するパラメータであるため、エントリは次のようになります。

roleid customerid subcustomerid
 1        2           6
 1        2           7
 1        2           8

この subcustomerid は、チェック ボックスから選択された複数の値です。1 つのパラメーターでこれを実現するにはどうすればよいですか。他の方法がある場合は、返信してください。

チェックボックスリストの値をコンマ区切りの文字列として取得し、それに応じて動的挿入クエリに渡すと、動的クエリで実行できますか...

4

1 に答える 1

0

私は最終的にこれに対する解決策を得ました!!!! 私は参考のために私の解決策を与えています

文字列のチェック ボックス リストをカンマ区切りの値として取得し、それをストアド プロシージャに渡します。次に、動的クエリを使用してこの値を次のように挿入します。

 
テーブル tblrmp を作成します
 ( id int ID (1,1),
 名前 varchar(20),
サブキャット varchar(20) )

@S varchar(20) を宣言します セット @S = '1,2,3,4,5' @sql varchar(max) を宣言します len(@S) > 0 の間 始める print left(@S, charindex(',', @S+',')-1) set @sql='insert into tblrmp values(''abc'','+left(@S, charindex(',', @S+',')-1)+')' exec(@sql) set @S = stuff(@S, 1, charindex(',', @S+','), '') 終わり

出力: id 名 subcat 1 abc 1 2 abc 2 3 abc 3 4 abc 4 5 abc 5

于 2014-01-30T14:10:17.643 に答える