2

我有复选框列表来选择多个值,现在我想使用一个参数将这个多个选定的值传递给我的存储过程

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

在上面的查询中,@SubcustomerId 是参数,它将保存复选框列表中的多个选定值,因此,现在条目应如下所示

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

这个 subcustomerid 是从复选框中选择的多个值,我怎样才能用一个参数来实现这一点,如果有其他方法可以做到这一点,请回复

如果我将复选框列表值作为逗号分隔的字符串并相应地将其传递给动态插入查询,是否可以通过动态查询来完成...

4

1 回答 1

0

我终于得到了解决方案,!!!我给出了我的参考解决方案

我将字符串中的复选框列表作为逗号分隔值并将其传递给存储过程,然后我使用动态查询插入此值,如下所示:

 
创建表 tblrmp
 ( id int 身份 (1,1),
 名称 varchar(20),
subcat varchar(20) )

声明@S varchar(20) 设置@S = '1,2,3,4,5' 声明@sql varchar(max) 而 len(@S) > 0 开始 打印左(@S, charindex(',', @S+',')-1) set @sql='insert into tblrmp values(''abc'','+left(@S, charindex(',', @S+',')-1)+')' exec(@sql) 设置@S = stuff(@S, 1, charindex(',', @S+','), '') 结尾

输出: id 名称子猫 1 美国广播公司 1 2 美国广播公司 2 3 美国广播公司 3 4 美国广播公司 4 5 美国广播公司 5

于 2014-01-30T14:10:17.643 回答