更新按钮不会更新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和改变它使用文本框,它不会更新。
如果您的查询给出了预期的结果,并且数据在数据库中得到更新。然后你需要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。