- - PR -
ACCESSのDBのデータを編集する方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-12 20:02
エラー(例外)がでるのは、どの行ですか?それが重要なんですよ。 「商品表」は、DataTable ですか?FindById なんてメソッド、定義されていました? いちど、Option Strict を On にしてみることを薦めます。 〆 written by Jitta@わんくま同盟 on 2006/03/12 | ||||||||
|
投稿日時: 2006-03-13 19:15
回答いただきありがとうございます。
(こちらの返答遅れ申し訳ないです。) エラーが出る行ですが、 データを編集する時の下記場所でエラーが発生します。 Public Sub DECA(ByVal LSET As LISTSET) LISTADP.Update(LSET) ←ここで「抽出条件でデータが一致しません」のエラーが発生。 End Sub 商品表はデータテーブルです。 質問するにあたり情報が不足していると思いますが 懲りずに回答をお願いいたします。 型を意識していない作りから本エラーが発生していると ご指摘いただき改良しましたが新規、編集とも同じように型を揃えても 編集の時のLISTADP.Update(LSET)でエラーが発生します。 新規の追加の LISTADP.Update(LSET) ではエラーが発生しないのに データを編集する時のLISTADP.Update(LSET) でエラーが発生します。 よきアドバイスをお願いします。 | ||||||||
|
投稿日時: 2006-03-13 19:29
System.Data.DataTable クラスのメンバには FindByID というメソッドは存在しません。 本当に System.Data.DataTable クラスなのでしょうか?
上記のことからもそうですが、自分がどのクラスを使っているか把握されていますでしょうか? ところで、drv にある要素はあれで全部ですか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-13 19:47
回答ありがとうございます。
引用-------------------------------------------------------------------------- System.Data.DataTable クラスのメンバには FindByID というメソッドは存在しません。本当に System.Data.DataTable クラスなのでしょうか? ------------------------------------------------------------------------------- 商品表についてですが、 コンポーネントクラスでOleDbDataAdapterからデータセットを生成しました。 やり方 @新規項目の追加でコンポーネントクラスを追加 A追加したコンポーネントクラスのデザイン画面に サーバーエクスプローラーからACCESSの商品表テーブルをドラッグ Bドラッグしたら「OleDbDataAdapter1」の名前を「LISTADP」に変更 C「LISTADP」を右クリックしてデータセットの生成を選択しデータセットの 名前を「LISTSET」としました。 と書いている内にようやく 自分がどのクラスを使っているか把握されていますでしょうか? この意味がわかりかけてきました。 ちょっともう少し試してみます。 | ||||||||
|
投稿日時: 2006-03-27 20:01
いつもお世話になります。
ADO.NET基礎講座などで勉強しましたが 未だアクセスDBの編集に苦戦している雄琴です。 データの新規追加は書き込めますが 編集(データの上書き)が上手くいきません。 新規追加のソースを参考にデータの上書き方法のアドバイスを頂戴したく。 アクセス側に何か設定が必要なのでしょうか? -----------データの新規追加---------------------------- Dim PSET As New LISTSET 'LISTSETはデータセット LISTADP.Fill(PSET) 'LISTADPはデータアダプタ Dim udrow As LISTSET.商品表Row = PSET.商品表.NewRow udrow.BeginEdit() udrow.商品名 = "あ" udrow.EndEdit() PSET.商品表.Rows.Add(udrow) LISTADP.Update(PSET) --------------------------------------- -----------データの編集---------------------------- Dim targetrow As DataRow Dim test As LISTSET.商品表DataTable = PSET.商品表 targetrow = test.Rows.Find(i) 'iはint型です。 targetrow("商品名") = "あ" LISTADP.Update(PSET) ←ここで「抽出条件でデータ型が一致しません」のエラーが発生 --------------------------------------- ※これまでに色々ご指摘いただいたので商品表のテーブルには ID(オートナンバー型)と商品名(テキスト型)のみで確認しています。 | ||||||||
|
投稿日時: 2006-03-27 20:46
追記です。
新規追加、データ編集ともに商品表(テーブル)内の商品名の箇所に文字列("あ")を書き込みたいと考えています。それとデータの編集部分でも LISTADP.Fill(PSET)をしています。 -----------データの編集---------------------------- Dim PSET As New LISTSET 'LISTSETはデータセット LISTADP.Fill(PSET) 'LISTADPはデータアダプタ Dim targetrow As DataRow Dim test As LISTSET.商品表DataTable = PSET.商品表 targetrow = test.Rows.Find(i) 'iはint型です。 targetrow("商品名") = "あ" LISTADP.Update(PSET) ←ここで「抽出条件でデータ型が一致しません」のエラーが発生 --------------------------------------- |