変更を保存しないテーブル編集があります。RowState が変更されていないことが問題のようです。foreach ループはデバッグ用です。
private void btnSave_Click(object sender, EventArgs e)
{
this.Validate();
bs.EndEdit();
dsEdit.Tables["broker"].GetChanges();
DataTable dtOut = dsEdit.Tables["broker"];
foreach (DataRow rOut in dtOut.Rows)
{
Console.WriteLine(rOut.RowState.ToString());
Console.WriteLine(rOut["contactfax"]);
rOut["contactfax"] = "change";
Console.WriteLine(rOut.RowState.ToString());
Console.WriteLine(rOut["contactfax"]);
}
int n = sdaBkr.Update(dsEdit.Tables["broker"]);
MessageBox.Show(n.ToString() + " record(s) saved.");
}
コンソール出力は次のとおりです。
Unchanged
fax number here
Unchanged
change
何が原因でしょうか? データベースに異常なプロパティが設定されていません。