VC++からDBの連係したフィールドの参照方法 – プログラミング – Home

VC++からDBの連係したフィールドの...
 
通知
すべてクリア

[解決済] VC++からDBの連係したフィールドの参照方法


Takeshi
 Takeshi
(@Takeshi)
ゲスト
結合: 23年前
投稿: 83
Topic starter  

Takeshiです、新規に質問します。

■動 作 環 境 : Windows2000
■開 発 環 境 :Visual C++6.0(MFC使用,ODBC接続)
■データベース:Access2000

------------------------------------------

まず、Microsoft Access2000で作成したデータベースがあります。
このデータベースは2つのテーブルを持っています。
一つは、メインとなるテーブル(TBL1)で複数のフィールド(A,B,C)を持ちます。
もう一方は、サブ的なテーブル(TBL2)で一つのフィールド(D)を持ちます。
メインテーブル(TBL1)のフィールドの一つ(C)が、
サブ的テーブル(TBL2)のフィールド(D)を連係しています。
つまり、メインテーブル(TBL1)のフィールド(C)のデータ入力時には
サブ的テーブル(TBL2)のフィールド(D)から選択する訳です。

(例)

▼社員情報のテーブル

名前(文字列)
年齢(数値)
趣味(趣味テーブルの趣味一覧より選択)

▼趣味のテーブル

趣味一覧(文字列)

------------------------------------------

こういう前提があるとして、

社員_RS.Open
(CRecordset::snapshot,select * from TBL_社員情報,CRecordset::readOnly);

これで TBL_社員情報 の持つ全フィールド(3つ)をレコードセット 社員_RS として
カプセル化します。

社員_RS.GetFieldValue(趣味,趣味_CString);

そして TBL_社員情報 のフィールド 趣味 の値を CString型のOBJ 趣味_CString に
取得するとします。

実行すると、残念ながら「これは無効なフィールド名である」となってエラーになります。

社員_RS.GetFieldValue(趣味一覧,趣味_CString);

としても駄目でした。こういう連係したDBの場合は
どのようにフィールド名を指定すれば良いのでしょうか?

宜しくお願い致します。


引用未解決
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

フィールド名が漢字っていうところに違和感を感じるのですが、大丈夫なのでしょうか。
CRecordset::GetFieldValue()は確か、フィールド名を指定しなくても
番号指定で取得できたと思いますが、それもだめですか?


返信引用
Takeshi
 Takeshi
(@Takeshi)
ゲスト
結合: 23年前
投稿: 83
Topic starter  

お世話になっております。

フィールド名はあえて説明を分かり易くする為に漢字にしただけで、
実際はアルファベットです。

つまり、フィールド名ではなく通番でも指定できるという事ですね?
一つ目なら 1 というような感じですね。
分かりました。試してみます。
ありがとうございました。


返信引用
Takeshi
 Takeshi
(@Takeshi)
ゲスト
結合: 23年前
投稿: 83
Topic starter  

OKです!!

うまくフィールドを読み込めました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました