2

EditMode : EditOnKeystroke に設定されている datagridview があります。グリッドのデータを編集して更新ボタンをクリックすると、このグリッドのデータ ソースであるデータベース テーブルに変更が反映されません。dataGridView をロードして更新するコードを以下に示します。

private void Form_Load(object sender, EventArgs e)
{                
      // TODO: This line of code loads data into the 'pFSDataSet5.Farms' table. You can move, or remove it, as needed.
      this.farmsTableAdapter.Fill(this.pFSDataSet5.Farms);    
}

private void update_Click(object sender, EventArgs e)
{
      //da.Update((DataTable)farmsTableAdapter);
      int s=this.farmsTableAdapter.Update(this.pFSDataSet5.Farms);
      Console.Write(s);

      MessageBox.Show("Successfully Updated");
}

データの変更が 'Farms' という名前の db テーブルに反映されないことを見逃したのは何ですか?

4

2 に答える 2

2

datagridview の編集を閉じていないため、変更はデータベースに反映されません。次の 2 行を使用して、datagridview の編集を閉じます。

 yourdatagridview.EndEdit();
 ((DataRowView)yourdatagridview.CurrentRow.DataBoundItem).EndEdit();

次に、tableadapter の更新を使用できます。:)

于 2013-09-22T14:51:34.503 に答える
0

データ グリッドとデータセットの間にバインドがないため、変更はデータベースに反映されません。

フォームの読み込み時にデータセット テーブルを使用して grid.DataSource を設定してみてください。

于 2013-01-09T07:29:51.330 に答える