更新按钮不会更新DataGridView c#上的数据

本文关键字:更新 数据 DataGridView 按钮 | 更新日期: 2023-09-27 18:17:29

try
{
    OdbcConnection conn = new OdbcConnection();
    conn.ConnectionString =
    "Dsn=mdc;" +
    "Uid=root;" +
    "Pwd=;";
    OdbcCommand cmd = new OdbcCommand("UPDATE tbl_delivery SET Address = @Address, AssetNumber = @AssetNumber, Contact = @Contact, DRNumber = @DRNumber, InvoiceNumber = @InvoiceNumber, ItemQty = @ItemQty, PONumber = @PONumber, ReceivedBy = @ReceivedBy, Supplier = @Supplier WHERE No = @No;", conn);
    //DataRowView drv = (DataRowView) comboBox1.SelectedValue;
    cmd.Parameters.AddWithValue("@No", noTextBox.Text);
    cmd.Parameters.AddWithValue("@AssetNumber", assetNumberTextBox.Text);
    cmd.Parameters.AddWithValue("@Contact", contactTextBox.Text);
    cmd.Parameters.AddWithValue("@DRNumber", dRNumberTextBox.Text);
    cmd.Parameters.AddWithValue("@InvoiceNumber", invoiceNumberTextBox.Text);
    cmd.Parameters.AddWithValue("@ItemQty", itemQtyTextBox.Text);
    cmd.Parameters.AddWithValue("@PONumber", pONumberTextBox.Text);
    cmd.Parameters.AddWithValue("@ReceivedBy", receivedByTextBox.Text);
    cmd.Parameters.AddWithValue("@Supplier", supplierTextBox.Text);
    cmd.CommandType = CommandType.Text;
    OdbcDataAdapter ds = new OdbcDataAdapter(cmd);
    ds.SelectCommand = cmd;
    System.Data.DataTable dtable = new System.Data.DataTable();
    ds.Fill(dtable);
    tbl_deliveryDataGridView.DataSource = dtable;
    conn.Open();
    cmd.ExecuteNonQuery();
    MessageBox.Show("update successful");
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

每当我点击一个数据从datagridview和改变它使用文本框,它不会更新。

更新按钮不会更新DataGridView c#上的数据

如果您的查询给出了预期的结果,并且数据在数据库中得到更新。然后你需要ReBind的网格加载更新的数据到网格。

Gv_delivery作为您的数据网格,那么代码将如下所示:

Gv_delivery.Rebind

更新执行后附加到代码中的代码

你想用OdbcDataAdapter和update命令填充你的DataTable

编辑:

下面是你的代码片段:

//here your cmd is set to UPDATE
OdbcCommand cmd = new OdbcCommand("UPDATE tbl_delivery SET Address = @Address, AssetNumber = @AssetNumber, Contact = @Contact, DRNumber = @DRNumber, InvoiceNumber = @InvoiceNumber, ItemQty = @ItemQty, PONumber = @PONumber, ReceivedBy = @ReceivedBy, Supplier = @Supplier WHERE No = @No;", conn);
//here your SelectCommand is set to UPDATE
ds.SelectCommand = cmd; 
//here you fill your datatable
ds.Fill(dtable);

你应该正确设置你的SelectCommand和UpdateCommand。