• ベストアンサー

SQLでフィールド番号を指定する方法(VB2008

お世話になっております。 VB2008を用いてアクセスのテーブルからデータを読み込もうとしているのですが(oledb接続)、 ・特定のフィールドからのみ値を取得したい ・そのフィールド指定は変動する これを満たす方法を、VB6では 格納変数=テーブル名.Fields(フィールド番号) によって取得出来ていたのですが、vb.netの場合どのような方法があるのかわかりません。 何かアドバイスを頂けると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

単純にSELECT文書き換えればよいだけのような……。 DataTable使っているのであれば,DataRowのItem (というか,()演算子) に, フィールド名なりフィールド番号なりを入れれば取得できます。

komorebi88
質問者

お礼

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

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

#1 さんに同じく、SELECT * FROM Table1 みたいに全フィールドを取ってきているなら、 フィールドの順番が保証されないので、動的にSQLを編集して該当のフィールド名のみ SELECT するように変更すべきでしょう。パフォーマンスも悪いですし。 フィールド指定は変動してもフィールド名で取得するようにした方が不具合は少ない です。 DataRow でも DataReader でも Item(Index) です。このあたりは共通化が図られている ので、複数のデータを格納するコレクションでは大抵 Item(Index) になってます。 http://msdn.microsoft.com/ja-jp/library/system.data.oledb.oledbdatareader.item(v=vs.110).aspx http://msdn.microsoft.com/ja-jp/library/system.data.datarow.item(v=vs.110).aspx

関連するQ&A