コンボボックスにデータベースの内容を表示

[戻る]
天草 銀 [E-Mail] 2002/06/27(木) 15:55:41
毎度毎度失礼します。m(_ _)m
コンボボックスにデータベースの内容を表示させるやり方を教えてください。

Windows2000
VC++6.0
MFC
SDI

サンプルという名前のテーブルのデータベースがあります。
その中身は、名前・所属・会員番号 という3つの要素からできているデータベースです。

ダイアログ画面には
エディットボックス1個
コンボボックス1個
ボタン1個
が置いてあります。

私がやりたいことは、このコンボボックスにデータベースから『名前』を読み込んで表示させ、
その中の一つを選択し、ボタンを押すと選択されたものがエディットボックスに表示する。
というものです。

現在、コンボボックスのメンバ変数設定する時に
m_pSet->m_column1
↑このように外部変数にデータベースの『名前』を割り当てている状態です。
これだとデータベースの1番目の『名前』しか取得できません。(←当たり前だと思います
が・・・)

良い方法をご教授願いたいです。

? 2002/06/28(金) 01:42:45
>コンボボックスにデータベースの内容を表示させるやり方を教えてください。
データベースは横に置いておいて、
まずコンボボックスに選択候補の文字列を追加する方法を調べましょう。

>現在、コンボボックスのメンバ変数設定する時に
>m_pSet->m_column1
>↑このように外部変数にデータベースの『名前』を割り当てている状態です。
(コンボボックスに複数の文字列が表示できるようになり、選択可能になったとして)
これだとデータベースの1番目の『名前』が
コンボボックスで選択された『名前』に更新されてしまいます。

きつい言い方かもしれませんが、基礎的知識が足りなすぎます。
もう少し、御自分でサンプル等を探して勉強してください。

wood 2002/06/28(金) 07:47:03
コモンコントロールなどの参考書籍で勉強してください
MSDNでは何のキーワード検索してみましたか

話は少しそれますけど、リソースエディタはどんなことできて
タブオーダーや、コンボボックスのプルダウン時の枠の広げ方など
は知っているんですよね

C言語の基礎くらいはマスターしているんですよね
(情報処理試験くらいは)
知識不足はどこまで不足しているかによって皆さんの回答
違ってきますよ

wood 2002/06/28(金) 07:51:01
追加
参考にした例題などありますか?

wood 2002/06/28(金) 08:04:27
さらに追加
私が前のスレッドで話した書籍見つかりましたか
見つからなかったら
最近出ている書籍は「プログラミング Visual C++6.0」
と言うアスキー出版から出ているオレンジ色の本、探してみてください
内容はどうでもいいからすべて読破してみてください
何らかの初歩知識は身につくはずです
私は全部読みきるのに1週間くらいかかりましたけど
自分への投資だと思ってがんばってくださいよ!

天草 銀 [E-Mail] 2002/06/28(金) 09:50:03
おはようございます。
今はこの掲示板を見つける前の日に買った『新Visual C++ 6.0入門(シニア編)』を読みながら
作成しています。
そこにはコンボボックスの使用例として以下のものがありました。

CString hana_name[]={
    "アサガオ","コスモス","スイセン","アザレア"
};

void CVccmbDlg::OnButton1()
{
    int i;
    CString ss;
    m_combo1.ResetContent();     // 全項目削除
    for(i=0; i<=7; i++)          // 花の名前設定
        m_combo1.InsertString(-1,hana_name[i]);
    m_combo1.GetLBText(0,ss);    // 先頭リスト項目文字列取得
    m_combo1.SetWindowText(ss);  // それをエディットボックス部分に表示
}

コンボボックスのプルダウン時の枠の広げ方はここで紹介されていたので知っていました。

リソースエディタはDialog・Menu・Toolbarのところしかさわったことがありません。
タブオーダーのことは今読んで知りました。
C言語はわかります。でも情報処理試験は受けておりません。10月に受ける予定なので只今、勉
強中です。

部長に出された課題が今日までだったので、書籍などでじっくり調べる余裕がなく、知ってる人
に聞いた方が早いだろぅと、ついついあまえてしまいました・・・。
しかもC++もVC++まだ全然知らないのに7月の中頃からVC++の職場に行かされるので、気持ちが
焦っていました。
すみませんm(_ _)m
自分で調べてみます。
失礼しました。

2002/06/28(金) 13:29:01
焦る気持ちもわかるし、部長さんの指示内容も難しいのかな?とも思いますが・・・
質問の内容を見ていると、なんというか・・・・
とりあえず、質問時は内容を細分化してわかることとわからないことを書きましょう。
どこまでわかっているかわからない人に対して、レスはつけにくいので。

1.データベースの2番目、3番目の『名前』の取得方法。
  また何番目まであるかの取得方法。
2.コンボボックスへの文字の追加の仕方
3.コンボボックスへの文字を追加するタイミング
4.コンボボックスで選択された文字列の取得方法
5.エディットボックスへの文字の表示方法

1.は私はわかりません。
2.はInsertStringでもいいですが他に適切なものがあると思います。
3.はダイアログボックスが初期化される時なのですが・・・
  関数名はわかりますか?
4.はGetLBText(0,ss)ではだめです。
5.はm_combo1.SetWindowText(ss)だとコンボボックスに表示になってしまいます。
  m_combo1が何かはわかってますか?
(3.4.の間に入るだろう「ボタンが押された時」というのはもうわかってますよね?)

中途半端だけど仕事の時間なので失礼します。

天草 銀 [E-Mail] 2002/06/28(金) 17:40:55
あっ!
今気がつきました。。。すみません。
急いで上っ面だけやるのもまずいと思い、昼休みに『新 Visual C++ 6.0入門(ビギナー編)』を
買ってきました。いきなりシニア編だったので失敗しました。
INSIDE VC++は秋葉原と神田の本屋さんを探しても在庫がないと言われたので注文してきまし
た。
プログラミングVC++は今のビギナー編とシニア編を読んでからにしようと思います。

でも上っ面だけやってても、それから本を読むと頭に入りやすくて良いです。

アドバイスありがとうございました。
もう少しレベルアップして出直してきますm(_ _)m

古いスレッドには追加発言できません。