【发布时间】:2018-02-17 22:21:20
【问题描述】:
我想使用 SELECT 语句到基于 ListBox 中的多个值的表中并获取多个 ID,然后运行 INSERT 语句并将多个 ID 存储到来自 INSERT 语句的不同表中。
下面的代码不起作用,因为我在单行中得到“NULL”,而不是在多行中得到多个 ID。
我正在为所有 SQL 语句使用存储过程。
请看我下面的代码:
我的 ASPX 网页的代码隐藏:
string listboxvalue = "";
foreach (ListItem item in listbox.Items)
{
if (item.Selected)
{
listboxvalue += item.Text + ',';
}
}
listboxvalue = listboxvalue.Substring(0, listboxvalue.Length - 1);
cmd.Parameters.AddWithValue("spselectvalue", listboxvalue);
存储过程:
@spselectvalue nvarchar(MAX),
// Select multiple Ids based on multiple items from list box
DECLARE @Dis TABLE (DisID int)
INSERT INTO @Dis
SELECT DId
FROM [table name]
WHERE [COLUMN] IN ('+@spselectvalue +')
EXEC sp_executesql @Dis
// Insert multiple Ids (from above select statement) into different table
INSERT INTO [dbo].[DifferentTable] ([SelectedIds])
VALUES
(
(SELECT DisID from @Dis)
)
【问题讨论】:
-
@Dis 是否包含您期望的数据?
标签: c# sql asp.net stored-procedures