2011-12-29 61 views
1
我有包含我的aspx文件的多個數據表的數據集

從C#Asp.Net網站傳遞一個數據表到SQL Server存儲過程

我需要一個數據表傳遞到SQL Server存儲procdure讓我可以修改表並插入到數據庫表中的SQL Server

數據集包含存在於它龐大的數據

你能幫助我!

+0

更好地使用sqlbulkcopy – 2011-12-29 10:34:50

+1

您可以在SQL Server中使用[Table-Valued Parameter](http://msdn.microsoft.com/zh-cn/library/bb510489.aspx)將'DataTable'傳遞給存儲過程2008年和更新。建議使用TVP達到大約1'000行 - 使用'SqlBulkCopy'獲取更大的數據集 – 2011-12-29 11:41:51

回答

1

您無法將數據集傳遞給存儲過程。儘管表變量是t-sql的語言元素,但不可能使用它們將數據傳遞給過程。您可以將數據表編碼爲CSV/XML字符串,但編碼/解碼會對性能產生巨大影響。您可能想要在C#端的數據層中實現邏輯,並將結果輸入到數據庫中。

+0

謝謝sir,但是 你能幫我從c#發送一個數據表到一個xml字符串 並在sql中檢索它服務器? – 2011-12-29 10:52:38

+0

*數據集包含巨大的數據* - >你真的不應該這樣做。但是,如果你堅持,看看這些關於將數據集轉換爲xml(http://dotnetslackers.com/articles/ado_net/MappingDataSetToXMLAndBackwards.aspx)和閱讀XML服務器(http://msdn.microsoft.com/)中的文章。 com/en-us/library/ms345117%28v = sql.90%29.aspx)(在xpath中有更好的體驗) – Matten 2011-12-29 11:12:23

+2

你** CAN **然而使用[Table-Valued Parameter]傳遞一個'DataTable'(http ://msdn.microsoft.com/en-us/library/bb510489.aspx)在SQL Server 2008和更新... – 2011-12-29 11:41:46

相關問題