避免使用多个 HttpRequest 来插入复选框列表所选数据
本文关键字:复选框 插入 列表 数据 HttpRequest | 更新日期: 2023-09-27 18:36:37
protected void btnadd_Click(object sender, EventArgs e)
{
for (int i = 0; i < chkBusinessLocationDetails.Items.Count; i++)
{
if (chkBusinessLocationDetails.Items[i].Selected)
{
long RowId = myvalue
string json1 = "{'CommonCategory':" + chk.Items[i].Value + ",'CommonCategoryRowId':" + RowId + "}";
status.Text = Classforhttprequest.HttpPost("http://localhost/MyService/MetaData.svc/CommonCategoryAttributesID", json1);
}
}
}
这里为了将选定的Chkbox列表数据插入到数据库中,我需要多次调用该服务,这等于复选框列表中选择的项目数。我可以通过调用一次并插入选定的值来实现我的要求吗
从那时起.....需要在数据库中创建一个函数
create FUNCTION [dbo].[Splitter](@String varchar(MAX), @Delimiter char(1))
returns @table TABLE (items varchar(MAX))
as
begin
declare @idx int
declare @slice varchar(8000)
select @idx = 1
if len(@String)<1 or @String is null return
while @idx!= 0
begin
set @idx = charindex(@Delimiter,@String)
if @idx!=0
set @slice = left(@String,@idx - 1)
else
set @slice = @String
if(len(@slice)>0)
insert into @table(Items) values(@slice)
set @String = right(@String,len(@String) - @idx)
if len(@String) = 0 break
end
return end;
那么在插入SP中需要这样做......
INSERT INTO CommonCategoryAttributes
(CommonCategoryRowId,CommonCategoryAttributeName,Priority)
SELECT @CommonCategoryRowId, @CommonCategoryAttributeName, @Priority
FROM dbo.[Split] (@CommonCategoryAttributeName, ',')
它适用于执行 CommonCategoryAttributesID 1, 'Gopal,Reddy',2 ;