Discussion:
DataSet & OleDbDataAdapterについて
(too old to reply)
C#Sharp.com
2005-08-26 08:18:11 UTC
Permalink
お世話になります。
Visual Studio 2003 を使用し、データグリッドにMicrosoft
Accessのmdbファイルの内容をアプリケーションで表示させることを検討しています。

サーバーエクスプローラからデータ接続を行い、mdbファイルの内容をデータグリッドに表示させる事が出来ましたが、mdbファイルの内容(フィールドの名前)を変更すると、
oleDbDataAdapter1.Fill(dataSet11,"a_機種");
のところで、'System.Data.OleDb.OleDbException' のハンドルされていない例外が system.data.dll
で発生しました。とのエラーが発生します。
当然ですが、、、、

そこで、データベースのフィールド名を変更した場合におけるアプリケーションのプログラム更をどうすれば最小限になるのかご教示お願いします。

やはり、OleDbDataAdapterの一度削除してから接続しなおすことが一番いいのでしょうか?
CommandTextからキュエリビルダ画面で操作すればよいのでしょうか?

恐れ入りますが、ご教示お願いします。
tamatama
2005-08-26 14:44:38 UTC
Permalink
Post by C#Sharp.com
お世話になります。
Visual Studio 2003 を使用し、データグリッドにMicrosoft
Accessのmdbファイルの内容をアプリケーションで表示させることを検討しています。
サーバーエクスプローラからデータ接続を行い、mdbファイルの内容をデータグリッドに表示させる事が出来ましたが、mdbファイルの内容(フィールドの名前)を変更すると、
oleDbDataAdapter1.Fill(dataSet11,"a_機種");
のところで、'System.Data.OleDb.OleDbException' のハンドルされていない例外が
system.data.dll
で発生しました。とのエラーが発生します。
当然ですが、、、、
そこで、データベースのフィールド名を変更した場合におけるアプリケーションのプログラム更をどうすれば最小限になるのかご教示お願いします。
データベースのカラムのフィールド名をアプリケーションに合わせて別名を作りたいということなのでしょうか?

・テーブルやクエリーのフィールド名を変えるということは、テーブルの構成を変える、検索方法を変えるなどを意味します。
 データグリッドからは、そのようなことができないので、Exceptionが発生したのだと思うのですが…
   (カタログを取得してフィールド名を変更するというような手続き)

 フィールドに対して別名を付けたいというのであれば、クエリービルダのときに別名の欄に入力すればよいと思います。
 別名がなければ、Accessのテーブルやクエリーのフィールド名が付くだけです。

 うろ覚えなもので、正確性は欠けるかもしれませんが…
C#Sharp.com
2005-08-27 01:36:01 UTC
Permalink
Post by tamatama
Post by C#Sharp.com
お世話になります。
Visual Studio 2003 を使用し、データグリッドにMicrosoft
Accessのmdbファイルの内容をアプリケーションで表示させることを検討しています。
サーバーエクスプローラからデータ接続を行い、mdbファイルの内容をデータグリッドに表示させる事が出来ましたが、mdbファイルの内容(フィールドの名前)を変更すると、
oleDbDataAdapter1.Fill(dataSet11,"a_機種");
のところで、'System.Data.OleDb.OleDbException' のハンドルされていない例外が
system.data.dll
で発生しました。とのエラーが発生します。
当然ですが、、、、
そこで、データベースのフィールド名を変更した場合におけるアプリケーションのプログラム更をどうすれば最小限になるのかご教示お願いします。
データベースのカラムのフィールド名をアプリケーションに合わせて別名を作りたいということなのでしょうか?
・テーブルやクエリーのフィールド名を変えるということは、テーブルの構成を変える、検索方法を変えるなどを意味します。
 データグリッドからは、そのようなことができないので、Exceptionが発生したのだと思うのですが…
   (カタログを取得してフィールド名を変更するというような手続き)
 フィールドに対して別名を付けたいというのであれば、クエリービルダのときに別名の欄に入力すればよいと思います。
 別名がなければ、Accessのテーブルやクエリーのフィールド名が付くだけです。
 うろ覚えなもので、正確性は欠けるかもしれませんが…
フィールド名を変更(テーブルの構成を変更)するのに一番簡単な方法を探していました。
結局、oleDbDataAdapter、dataSetの両方において、作成しなおすことにより、問題がなくなりそうです。ありがとうございました。
Loading...