2013-10-24 86 views
0

多值我有一個像這樣的這種如何通過從列表框中存儲過程

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窗口工作形成

回答

0

使用類型名指定的表值參數類型名稱SqlParameter的屬性。 TypeName必須與以前在服務器上創建的兼容類型的名稱相匹配:

tvp1.TypeName = "dbo.ss" 

希望這有助於您!

+0

它不是SqlParameter的'DbType'屬性。它是'TypeName'。此鏈接將有助於:http://msdn.microsoft.com/en-us/library/bb675163(v=vs.90).aspx – Deepshikha

+0

我給這樣的:但現在我得到錯誤:操作數類型衝突:表類型與int – user2878851

+0

不兼容先生現在我給你說什麼:tvp1.TypeName =「dbo.ss」但出現錯誤:操作數類型衝突:表類型與int – user2878851