C# 如何在datagridview中更新数据?

C# 如何在datagridview中更新数据?,c#,datagridview,C#,Datagridview,更新按钮不起作用,请检查我的更新语句是否正确。我使用的是c#……我认为您的查询不正确 OdbcConnection conn = new OdbcConnection(); conn.ConnectionString = "Dsn=mdc;" + "Uid=root;" + "Pwd=;"; OdbcC

更新按钮不起作用,请检查我的更新语句是否正确。我使用的是c#……

我认为您的查询不正确

                   OdbcConnection conn = new OdbcConnection();

           conn.ConnectionString =
                  "Dsn=mdc;" +
                  "Uid=root;" +
                  "Pwd=;";


           OdbcCommand cmd = new OdbcCommand("UPDATE tbl_delivery SET (Supplier, InvoiceNumber, DRNumber, PONumber, ItemQty, ReceivedDate, Address, Contact, ReceivedBy, AssetNumber) (Supplier ='" + this.supplierTextBox.Text + "',InvoiceNumber ='" + this.invoiceNumberTextBox.Text + "',DRNumber ='" + this.dRNumberTextBox.Text + "',PONumber ='" + this.pONumberTextBox.Text + "',ItemQty ='" + this.itemQtyTextBox.Text + "',ReceivedDate ='" + this.receivedDateDateTimePicker.Text + "',Address ='" + this.addressTextBox.Text + "',Contact ='" + this.contactTextBox.Text + "',ReceivedBy ='" + this.receivedByTextBox.Text + "',AssetNumber ='" + this.assetNumberTextBox.Text + "'", conn);

              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();
那么你的where子句在哪里?只需将其添加到查询中 然后


最好先执行查询,然后再将其显示到datagrid,这样才能看到更新的表。

Windows窗体或ASP.NET?建议在更新查询中使用OdbcCommand参数@Partha
datagridview
是Windows窗体。很难看到任何超过SQL注入的内容。而且您的更新没有where子句。是否确实要更新整个表?请参阅此链接:
  OdbcConnection conn = new OdbcConnection();

       conn.ConnectionString =
              "Dsn=mdc;" +
              "Uid=root;" +
              "Pwd=;";


       OdbcCommand cmd = new OdbcCommand("UPDATE tbl_delivery SET Supplier ='" + this.supplierTextBox.Text + "',InvoiceNumber ='" + this.invoiceNumberTextBox.Text + "',DRNumber ='" + this.dRNumberTextBox.Text + "',PONumber ='" + this.pONumberTextBox.Text + "',ItemQty ='" + this.itemQtyTextBox.Text + "',ReceivedDate ='" + this.receivedDateDateTimePicker.Text + "',Address ='" + this.addressTextBox.Text + "',Contact ='" + this.contactTextBox.Text + "',ReceivedBy ='" + this.receivedByTextBox.Text + "',AssetNumber ='" + this.assetNumberTextBox.Text + "'", conn);
cmd.ExecuteNonQuery();
ds= newodbcDataAdapter(cmd);
ds.Fill(dtable);
tbl_deliveryDataGridView.ItemsSource = dtable.DefaultView;