0

古い VB6 アプリケーションを、DAO を使用して Access データベースに接続する VB.NET にアップグレードしています。これがどうしようもなく時代遅れのテクノロジであることは承知していますが、ADO に変更する作業の量を考えると、ドキュメントを探すのに苦労しましたが、DAO を使い続けることにしました。

私の問題は、DataGridView にデータベースのテーブルを反映させたいということです。もちろん、列を手動で設定して DataGridView を埋める独自のルーチンを作成することもできますが、それが方法である場合は、DataSource プロパティまたはその他の組み込み関数を使用したいと思います。有望そうなフォーラムの投稿を見つけましたが、残念ながら参照されている添付ファイルは見つかりませんでした。

また、DataGridView 以外にこれに適したコントロールがあれば教えてください。

ありがとう

4

2 に答える 2

1

DAO のドキュメントを見つけるのは難しくありません。VB6 と Microsoft Developer Network をインストールします (ディスクは VB6 にバンドルされています)。VB6 IDE に入り、コードを表示し、DAO キーワードにカーソルを置き、F1 を押します。Presto - 役立つドキュメント! オンライン リファレンスが必要な場合は、Access 2007 の DAO ドキュメントがニーズを十分に満たしているはずです。

DataGridViewTable をDAOテーブルにバインドしますか? いいアイデアですが、大きな質問です。VB6 アプリはデータバインディングを使用しましたか?

  • もしそうなら、それを VB.Net に移行するのに苦労するでしょう。VB.Net の置き換えで ADO.Net への移行を検討してください。
  • そうでない場合は、COM を介して VB.Net から DAO を使用できる可能性があり、DAO 関連の VB6 を DAO 関連の VB.Net に簡単に移植できることがわかるかもしれません。知らない。
于 2012-06-29T15:30:20.180 に答える
0

1 つのオプションは、Code Complete にあるメソッドを使用することです。VB.NET ユーザー インターフェイスとレガシ データ アクセス コード (DAO コード) の間に適切でクリーンなレイヤーを配置します。レイヤーは、DAO を介してフェッチされたデータを取得し、それを DataTable オブジェクトに転送します。次に、DataTable を UI に送信し、DataGridView の .DataSource プロパティとして使用します。

ただし、正直なところ、これには、表示するデータを返す各 DAO 関数のコードを記述する必要があるため、データ アクセス ルーチンを ADO.NET にリファクタリングするだけです。DAO は非常に古いため、技術的には「動作」する可能性があるとしても、「新しい」アプリケーションを作成してそのような時代遅れのテクノロジを使用するのは無責任だと思います。

于 2012-06-29T15:38:49.023 に答える