在SQL Server 2008中,我們可以定義一個表類型並將其用作存儲過程的參數。 但是如何在C#調用這個SP中使用它?換句話說,如何使用SQL Server 2008的這一新功能創建表或列表並將其傳遞到C#代碼中的存儲過程?如何將用戶定義表類型作爲存儲過程參數傳遞給C#
20
A
回答
20
您需要看到此example on CodeProject。
SqlParameter param = cmd.Parameters.AddWithValue("@FileDetails", dt);
,其中DT是一個DataTable, 和@fileDetails參數是在SQL表類型:
create type FileDetailsType as table
(
FileName varchar(50),
CreatedDate varchar(50),
Size decimal(18,0)
)
編輯: This MSDN Developer's Guide article也會有所幫助。
2
最簡單的方法是傳遞一個DataTable
作爲參數。查看一些示例here。
0
從Table-Valued Parameters,掛在Jeff Meatball Yang's answer:
System.Data.SqlClient的支持填充從數據表,DbDataReader或System.Collections.Generic.IEnumerable表值參數([T:System.Collections.Generic .Inumerable`1)]對象。您必須使用SqlParameter的TypeName屬性爲表值參數指定一個類型名稱。 TypeName必須與先前在服務器上創建的兼容類型的名稱匹配。以下代碼片段演示瞭如何配置SqlParameter以插入數據。
相關問題
- 1. 如何將表名作爲參數傳遞給存儲過程?
- 2. 如何將用戶定義類型的數組傳遞給存儲過程
- 3. ORACLE將用戶定義的對象類型作爲參數傳遞給過程
- 4. 如何將Datetime值作爲參數傳遞給存儲過程?
- 5. 將列表結構作爲參數傳遞給存儲過程
- 6. 將參數傳遞給存儲過程
- 7. 將表類型傳遞給來自c#的存儲過程?
- 8. C#Winforms - 如何將參數傳遞給SQL Server存儲過程
- 9. 如何將用戶定義的類型作爲輸入傳遞給存儲過程?
- 10. 將變量作爲參數傳遞給存儲過程
- 11. 如何在存儲過程中將列作爲參數傳遞?
- 12. 將表類型對象作爲輸入參數傳遞給Oracle中的存儲過程C#
- 13. 如何將數據集傳遞給存儲過程作爲輸入參數?
- 14. 將參數傳遞給c中的sql存儲過程#
- 15. 如何將光標作爲IN參數傳遞給存儲過程
- 16. 如何將多個值作爲IN參數傳遞給存儲過程?
- 17. 如何將Ref遊標作爲參數傳遞給存儲過程?
- 18. 如何將參數傳遞給存儲過程
- 19. 如何將參數傳遞給EF存儲過程?
- 20. 如何將參數傳遞給SQL存儲過程?
- 21. 如何將存儲過程的參數傳遞給選定的列表?
- 22. C#:傳遞一個用戶定義的類型到Oracle存儲過程
- 23. 將列表傳遞給存儲過程
- 24. SQL LOOP將臨時表中的值作爲參數傳遞給存儲過程
- 25. 我們不能將表作爲參數傳遞給存儲過程..?
- 26. 將表名作爲輸入參數傳遞給SQL服務器存儲過程
- 27. 如何將結構類型作爲參數傳遞給函數?
- 28. 將數組作爲參數列表傳遞給非用戶定義函數
- 29. 將數組傳遞給存儲過程
- 30. 如何通過Webmatrix.Data.Database.Query將表值參數傳遞給存儲過程