ここから本文です

vb.net コンボボックスへSQLで取得したオラクルのデータテーブルを表示させる方法。

pro********さん

2011/11/2200:24:04

vb.net コンボボックスへSQLで取得したオラクルのデータテーブルを表示させる方法。

basic初心者です。
コンボボックスにselect文で取得したデータテーブルのデータを一覧の用に表示したいのですが、色々調べてみても、方法が見つからないので質問させていただきました。

オラクルへの接続はVBの機能からではなく、接続用のクラスを作って、それを利用しています。
データの取得までは出来るので、コンボボックスへの表示の部分を教えて頂きたいです。
初心者なので、わかりやすく説明して頂けると助かります。

それと、コンボボックスとドロップダウンリストの違いを教えてください。

補足ご回答ありがとうございます。
取得したデータには複数のテーブルがあります。
datasetで取得しています。
申し訳ないのですが、
For Each dr As DataRow In ds.Tables("MASTER").Rows
ComboBox1.Items.Add(dr("B").ToString())
Next

これのdr、ds、Bが何なにかを説明していただけませんでしょうか。
意味としては、SQLで取得したテーブルの、MASTERのrowをコンボボックスに追加していくという感じなのでしょうか。

閲覧数:
5,860
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

lar********さん

編集あり2011/11/2523:38:43

DataReaderまたはDataSetで取得しているかは不明ですが、レコード件数分ループし、
そのループ内で「ComboBox1.Items.Add(設定する値)」と定義すれば、
できると思うのですが・・・

>これのdr、ds、Bが何なにかを説明していただけませんでしょうか。
返事が遅くなって申し訳ございません。
かなり遠まわしに「これも知っていて欲しい」、「こういうやり方もあるんです」と伝えたかったのですが・・・
すみません。分かりにくかったですよね。。訂正しておきます。
>意味としては、SQLで取得したテーブルの、MASTERのrowをコンボボックスに追加していくという感じなのでしょうか。
ちょっと違います。レコードではなく、MST_TABLEの「B」カラムの値をコンボボックスに追加していきます。

・SQL文
SELECT CODE, NAME FROM MST_TABLE;

・DataReaderの場合
'dr→DataReaderを指しており、1レコード取得するためのクラスです。
'取得したレコード件数分繰り返します。
Do While dr.Read
'ここでは、取得した「MST_TABLE」のレコード件数分、コンボボックスに「NAME」に設定されている値を追加します。
ComboBox1.Items.Add(dr("NAME").ToString())
Loop

・DataSetの場合
'dr→DataRowを指しており、1レコード取得するためのクラスです。(DataSet、DataTableからレコードを取得する場合は、DataRowを使用します)
'ds→DataSetを指しており、データソースから取得されたデータをメモリ内で管理するためのクラスです。
For Each dr As DataRow In ds.Tables("MST_MASTER").Rows
ComboBox1.Items.Add(dr("NAME").ToString())
Next

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる