2011-07-18 56 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

    我已经更新了答案,包括一些网站的参考。 –

    相关问题