2012-05-25 51 views
1

我有一個未綁定的DataGridView帶有一個可見字段。最佳實踐:將數據從DGV寫入SQL Server表

用戶可以以類似的方式複製數據,從剪貼板,這個DGV這個article

現在我想這個數據移動到一個表的SQL Server上。

它已經向我建議做到以下幾點:

  • 創建一個存儲過程,需要一個單一的參數並寫入輸入到表格
  • 遍歷在DGV項目餵養每次進存儲過程,因此將它們寫入表格

我能不能只抓住DGV中的所有項目並將它們一次插入到目標表中,而無需循環?

或者是循環方法(最多2,000次迭代)在這種情況下的最佳做法? (或者是有沒有特別的最佳實踐?)

+0

您的數據如何存儲在數據網格中?你有一個'List '或什麼的?另外:您使用的是哪個版本的**(2005,2008)SQL Server? 2008版本可能會使用其他功能('MERGE'命令,表值參數) –

+0

hello marc_s SQL Server 2008R2。數據最初在剪貼板上,然後在數組中使用'string [] lines',然後在DGV上 – whytheq

回答

1

如果您正在尋找在使用存儲過程,那麼你可以遵循一些由厄蘭Sommarskog傳遞值的數組提出實例的實例;

看看;

http://www.sommarskog.se/arrays-in-sql-2008.html < - 周邊的表值參數基於2008 SS。

http://www.sommarskog.se/arrays-in-sql-2005.html < - SS 2005的選項我已經使用了XML method很多次,發現它非常有用。

如果您使用SS 2008,那麼您可以調查他的example of using the datatable as a source

不確定這些是否被認爲是最佳實踐,但它肯定是思考的食物。