タイトル : Re^2: DataGridView上からデータベースを変更する方法 投稿日 : 2009/12/15(Tue) 18:51 投稿者 : 水の都
魔界の仮面弁士様 ご回答ありがとうございます。 > > dRow.AcceptChanges() > > adapter.Update(dataset.Tables("SOURCE")) > AcceptChanges すると、その行のステータスは無変更(Unchaged)になります。 > (削除行の場合には行リストから除外され、Deleted から Detached になります dRow.AcceptChanges() を外すと更新ができるようになりました、ありがとうございました。 > > For Each dRow In dTbl.Rows > DataAdapter.Update を、行単位で呼び出す必要はありません。 > adapter.Update(dataset.Tables("SOURCE")) > の時点で、複数行の未更新データが一括処理されます。 adapter.Update(dataset.Tables("SOURCE")) 更新処理はUpdatte行のみとしました > なお、AcceptChanges を呼び出すとすれば、この更新処理の後です。 > > AcceptChanges を行うかどうかは任意ですが、追加済みのデータを再度追加してしまうと > キー重複エラーになってしまうでしょうから、更新成功後には > (案1) dataset.Tables("SOURCE").AcceptChanges() を呼び出すなどして、 > DataTable の各行を Unchaged な状態に戻しておく。 > (案2) サーバーから最新のデータを取得し直す。 > (案3) 更新完了後にデータを再更新できないよう、画面側で制限する。 > (画面を閉じる、DataTableを0件にクリアする、更新ボタンをEnabled=Falseにするなど) サーバから最新のデータを取得するようにしました。 詳細な説明ありがとうございました。 |