【问题标题】:inserting data from datagridview to database将数据从datagridview插入数据库
【发布时间】:2012-08-09 07:15:14
【问题描述】:

数据库中有一些现有数据,用户将在我想添加到数据库中的 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();
}

【问题讨论】:

    标签: c# sql database datagridview newrow


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 这只是测试代码,进入真实系统我会做的更好。
    猜你喜欢
    • 1970-01-01
    • 2013-03-01
    • 2018-01-25
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2015-05-06
    相关资源
    最近更新 更多