我有我的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