我有我的asp.net页面中的复选框下拉列表。 在该页面中,我将检查多个/单个/所有值。将列表/数组传递给存储过程,并在存储过程中逐个检索参数。
现在我想将所有选择的值从dropdownlist传递给sql server 2005存储过程作为参数。
我想选择的值的阵列作为一个字符串传递,通过分离的每个阵列项“”
而在存储过程中,我想检索每个值一个接一个。 (使用分割功能或任何更好的选择?)
我想处理插入查询每个选定的参数。
请任何帮助。
我试过这个存储过程。
CREATE PROCEDURE [dbo].[TEST_LIST]
@ID_LIST VARCHAR(200)
AS
DECLARE @pos INT, @nextpos INT, @valuelen INT
SELECT @pos = 0,@nextpos = 1个
WHILE @nextpos> 0 BEGIN SELECT @nextpos = charindex(',',@ID_LIST,@pos + 1) SELECT @valuelen = CASE WHEN @nextpos> 0 THEN @nextpos ELSE len(@ID_LIST)+ 1 个END - @pos - 1
INSERT INTO TABLE
(ID)
VALUES (convert(int, substring(@ID_LIST, @pos + 1, @valuelen)))
SELECT @pos = @nextpos
END RETURN END
BUT这是正确的??
I GOT ERROR。
请注意this>一个接一个我想检索参数,并在每次我有插入查询。
您是否在C#端寻求帮助来连接值?或者SQL方面把它们分离出来?既然你在SQL 2005中,这个参数或XML参数是你唯一的选择,在较新的SQL Server版本中,你也可以使用Table Valued参数(尽管升级SQL Server对于已经在生产中的应用程序来说通常不是一个简单的选项)。 – dbattaglia
我认识的大多数人在某个点或其他地方写了某种形式的'dbo.Split' UDF,它需要一个字符串和一个分隔符,并将其拆分为单列表结果...我建议这没有什么不同。令人烦恼的是,SQL Server缺少内置的“分割”功能,是的。 –
我编辑了我的问题请再次参考 – Patel