0

在此处输入图像描述

我需要知道如何将新插入的数据行添加DataGridView到数据库中。无论如何插入行,当我单击更新按钮时,所有新插入的行都将插入到数据库中。

这是我的代码:

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 - 1; i++ )
{

    String insertData = "INSERT INTO CostList(SupplierName, CostPrice, PartsID) VALUES (@SupplierName, @CostPrice, '" + textBox1.Text + "')";
    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();

单击更新按钮后,上面的代码没有响应。没有错误但是数据库中没有插入任何东西,图中显示的数据是我数据库中已经存在的原始数据。

或者任何有更好的代码将所有新添加的数据行插入数据库的人,请告诉我。我会很感激的。

4

1 回答 1

0

在您的 for 循环中,您正在使用 a>=当您应该使用 a<=

改变:

for (int i = 0; i>=dataGridView1.Rows.Count - 1; i++ )

至:

for (int i = 0; i<=dataGridView1.Rows.Count - 1; i++ )

所以你的 for 循环永远不会执行。如果您在调试器中跟踪代码,这应该很明显。

于 2012-08-08T01:39:32.000 回答