如何将多个值从列表框传递到存储过程

时间:2013-10-24 06:56:45

标签: sql sql-server vb.net stored-procedures

我有一个像这样的表值参数

CREATE TYPE dbo.ss AS TABLE(ss1 integer);

我的存储过程如下:

ALTER PROCEDURE [dbo].[T_TransactionSummary] 
 @locations dbo.ss readonly
as
begin
...............
.............
AND (Location_tbl.Locid IN (select ss1 from @locations))  

我有一个包含多个项目的列表框..同样的时间我可以从我的列表框中选择多个项目...那么如果我总是从我的列表框中选择一个位置,我将如何将多个Locationid传递给我存储的procdure。然后,我可以这样通过:

dim locid as integer=Lstbox.selectedItem
cmd.parameters.add("@locations",locid)..

但我不知道如何将所选项目从列表框传递到存储的procdure

我正在使用vb.net windows窗体

1 个答案:

答案 0 :(得分:0)

使用SqlParameter的TypeName属性为表值参数指定类型名称。 TypeName必须与先前在服务器上创建的兼容类型的名称匹配:

tvp1.TypeName = "dbo.ss"

希望这有帮助!!!