-1

からレコードを更新しようとしてDataGridいますが、次のエラー メッセージが表示されます。

変更された行を含む DataRow コレクションが渡された場合、更新には有効な UpdateCommand が必要です

ここに私のコードがあります:

private void btnUpdate_Click(object sender, EventArgs e)
{
    System.Data.DataTable dt = ds.Tables["tblImpi"];
    this.impdg.BindingContext[dt].EndCurrentEdit();
    this.dataAdapter.Update(dt);

    MessageBox.Show("Update Successful");
}
4

1 に答える 1

0

これを試して:

SqlDataAdapter adapter;
DataSet ds;
public void ReadData()
{
    this.ds = new DataSet())
    this.adapter = new SqlDataAdapter(query, conString))
    adapter.Fill(thisds, "TABLE1");
    this.ds.AcceptChanges();
    this.dataGridView1.DataSource = ds.DefaultViewManager;
}

public void SaveData()
{
    using (DataSet changes = this.ds.GetChanges())
    {
        if (changes != null)
        {
            int updatedRows = this.dataAdapter.Update(changes);
            this.ds.AcceptChanges();
        }
    }
}

private void btnUpdate_Click(object sender, EventArgs e)
{
    SaveData();
}

DataGrid コントロールを理解するために

于 2014-10-06T13:27:10.177 に答える