■39611 / ) |
Re[2]: 変更したDataSetの内容をMDBに更新するには? |
□投稿者/ まぐねしうむ (73回)-(2009/08/11(Tue) 15:30:11)
|
お返事ありがとうございます。
> その mdb は、ソリューション内に含めてある物ですか? それとも別管理ですか? 別管理になります。 > ソリューションに含めてある場合、プロパティ ウィンドウの > [ビルド アクション]および[出力ディレクトリにコピー]の設定によっては、 > コンパイル時に、更新前の mdb で上書きされる事があるので、気をつけてください。 ありがとうございます。 昔同じ間違いをしたので大丈夫です。
> SQL 内に、更新に必要な「主キー」情報が含まれていますか? ご指摘のとおり、設定されていませんでした。
cmd = new OleDbCommandBuilder(adapter); object obj =cmd.GetUpdateCommand();<=を追加して実行してみたところ 見事に例外が発生しました。
> この場合には、 > foreach (DataRow row in ds.Tables[TableName].Rows) > { > row["sel"] = false; > } > とした方が、スッキリ書けますよ。 ですね。
>>//DB更新用 >>cmd = new OleDbCommandBuilder(adapter); > この後で、adapter.UpdateCommand の内容を確認してみてください。 > (特に、CommandText の内容と、個々のParametersの OleDbType / DbType) CommandTextはNullでした。 MDBの中を見てみたところ、テーブルに対してSELECTしているのでは無く クエリに対してSELECTを実行していました。
そこで質問の内容がコード異なってしまうのですが、 今回の主キーが無い場合にDataSetを更新する方法はあるのでしょうか? DB側を変更する事が困難なので良い方法があれば教えてください。
よろしくお願いします。
|
|