2011-07-18 115 views
0

我有一個DataGridView,我用變量填充,但是然後我想將每行添加到一個sql數據庫表。從datagridview添加行到sql數據庫

目前我正在嘗試這個代碼時,按下按鈕,但是我有點卡住我的價值觀應該是....這是我的代碼...我是在正確的軌道上,儘管我剛剛把代碼扔在一起。

///////// Add to DataGridView Rows to Table /////// 
     foreach(DataGridViewRow row in dgv.Rows){ 
     SqlCommand Insert = new SqlCommand(@"insert into TestTable(ID, FirstName, LastName) values ("dgv.Cells[1].Value.ToString(), dgv.Cells[2].Value.ToString(),dgv.Cells[3].Value.ToString()); 
     } 

回答

3

你在正確的軌道上,但有一些問題。

  1. 您受到SQL注入攻擊。因此,您應該使用參數化查詢來代替

  2. 如果更改網格中列的順序,則需要更新SQLCommand代碼。相反,你應該遍歷你的DataSource,它應該有很好的屬性名稱。

  3. 你需要建立一個連接,並將其添加到命令,打開並關閉它(using語句來管理連接壽命的好辦法)

  4. 創建一個SQL命令並設置其連接仍然不夠,你需要執行它以及Insert.ExecuteNonQuery

  5. 另外你可能應該創建你的命令之外的循環,只是在每個迭代設置參數,而不是每次創建它。

使用一個數據集和DataAdpater

  • How to: Bind Objects to Windows Forms DataGridView Controls幫助鏈接

  • +0

    感謝您的幫助,您能否推薦任何可以幫助我的Web參考。隨着這 – user826436

    +0

    我已經更新了答案,包括一些網站的參考。 –

    相關問題