人生最悪の忘れ物

お世話になっております。
VB2008を用いてアクセスのテーブルからデータを読み込もうとしているのですが(oledb接続)、

・特定のフィールドからのみ値を取得したい
・そのフィールド指定は変動する

これを満たす方法を、VB6では

格納変数=テーブル名.Fields(フィールド番号)

によって取得出来ていたのですが、vb.netの場合どのような方法があるのかわかりません。
何かアドバイスを頂けると幸いです。

A 回答 (2件)

単純にSELECT文書き換えればよいだけのような……。



DataTable使っているのであれば,DataRowのItem (というか,()演算子) に,
フィールド名なりフィールド番号なりを入れれば取得できます。
    • good
    • 0
この回答へのお礼

SELECT文の書き換えにより解決できました。ありがとうございます!

お礼日時:2012/12/13 10:14

#1 さんに同じく、SELECT * FROM Table1 みたいに全フィールドを取ってきているなら、


フィールドの順番が保証されないので、動的にSQLを編集して該当のフィールド名のみ
SELECT するように変更すべきでしょう。パフォーマンスも悪いですし。
フィールド指定は変動してもフィールド名で取得するようにした方が不具合は少ない
です。

DataRow でも DataReader でも Item(Index) です。このあたりは共通化が図られている
ので、複数のデータを格納するコレクションでは大抵 Item(Index) になってます。
http://msdn.microsoft.com/ja-jp/library/system.d …
http://msdn.microsoft.com/ja-jp/library/system.d …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報