将数据从datagridview插入数据库

数据库中有一些现有数据,用户将新数据输入datagridview,我想将其添加到数据库中。

我真的不知道如何将datagridview中新插入的数据行添加到数据库中。 如何仅获取新插入的数据? 我被告知我可以使用tempID将它分配给新插入的行,但我不知道如何做到这一点。 任何人都可以给我一些链接吗?

这是我现在的代码:

private void button1_Click(object sender, EventArgs e) { con = new System.Data.SqlClient.SqlConnection(); con.ConnectionString = "Data Source=tcp:SHEN-PC,49172\\SQLEXPRESS;Initial Catalog=LSEStock;Integrated Security=True"; con.Open(); SqlDataAdapter da = new SqlDataAdapter(); for (int i = 0; i<dataGridView1.Rows.Count-2; i++ ) { String insertData = "INSERT INTO CostList(SupplierName, CostPrice, PartsID) VALUES (@SupplierName, @CostPrice, @PartsID)" ; SqlCommand cmd = new SqlCommand(insertData, con); cmd.Parameters.AddWithValue("@SupplierName", dataGridView1.Rows[i].Cells[0].Value); cmd.Parameters.AddWithValue("@CostPrice", dataGridView1.Rows[i].Cells[1].Value); cmd.Parameters.AddWithValue("@PartsID", textBox1.Text); da.InsertCommand = cmd; cmd.ExecuteNonQuery(); } con.Close(); } 

我认为您应该以不同方式处理数据网格插入。 看一下这个:

http://www.codeguru.com/csharp/.net/net_data/datagrid/article.php/c13041/Add-Edit-and-Delete-in-DataGridView.htm

我不认为允许本地工作,然后插入所有新行是最好的方法,当网格能够让用户在数据绑定时插入新行到数据库。 该示例是数据库异步调用以释放UI。

另外我认为你至少应该使用StringBuilder进行查询; 更易于管理,我希望你不会真的像那样留下连接字符串。