- - PR -
DBにレコードを追加して更新する
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-18 15:06
2年前には,多くのことを色々と教えていただきありがとうございました。c#2005になって,勉強を再会しました。よろしくお願いします。
dataGridViewの最下行に記入したレコードをDBに追加して更新したいのですが,最下行のエラーに対処できないで困っています。=WindowsForm=
| ||||||||
|
投稿日時: 2006-07-18 15:16
メッセージの通り、商品番号や商品名などのパラメータに 値が設定されていないためだと思います。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconupdatingdatabasewithdataadapterdataset.asp | ||||||||
|
投稿日時: 2006-07-18 15:19
このコードだと、DataSet(に含まれる表)の各列とInsert/Updateコマンドに含まれる
各パラメータがマッピング(紐付け)されてないので、 >1 つ以上の必要なパラメータの値が設定されていません。 というようなエラーが出ます。(まあ当然っちゃ当然ですが) OleDbCommand.Parametersを指定するか、OleDbCommandBuilderクラスを使って自動生成した更新系コマンドをDataAdapterに割り当ててみてください。 | ||||||||
|
投稿日時: 2006-07-18 17:23
かるあさん,vincentさん,ありがとうございます。
>OleDbCommandBuilderクラスを使って自動生成した更新系コマンドをDataAdapterに割り当ててみてください。 いづれ結合テーブルの勉強に進みますので「単一のテーブルのみに有効」なこの方法は後回しにさせてください。 >MSDN library参照 >OleDbCommand.Parametersを指定するか 私には読み解く力が全く不足しています。Parametersを具体的に指定する方法はそれなりに理解できますが,DataGrid上でのデータの修正や削除を読み取った上で更新させる仕方がわかりかねます。コマッタァー。 | ||||||||
|
投稿日時: 2006-07-18 19:19
あれもこれも一気に解決しようとせず、まず最初のエラー(Updateメソッド)を
解決したらどうですか? 確かにOleDbCommandBuilderは単一テーブルの更新に有効な方法ですが、 ひとまず更新系のコマンドを生成してみて、デバッグでCommandTextの値を 確認してみるのも勉強としては良いと思いますよ。 |
1