データベースのテーブル名、フィールド名取得について – プログラミング – Home

データベースのテーブル名、フィールド名...
 
通知
すべてクリア

[解決済] データベースのテーブル名、フィールド名取得について


長谷川
 長谷川
(@長谷川)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

■OS:Windows2000
■言語:Visual C++6.0
■データベース:Access2000(ODBC接続)

任意のテーブルにアクセスし、データ操作を行うプログラムを作成しています。
質問なのですが、データベースにアクセスし、テーブル名を取得および各テーブル内のフィール
ド名(データ型も含めて)取得する方法はありますでしょうか。

CDatabaseやCRecordsetにはそのような関数はないようですし。(CRecordset::GetTableName
()だと、CRecordsetオブジェクトを生成する際にテーブル名を知っていないとできそうもない
ので意味なさそうですし。)

ちなみに過去ログ「VC上からmdbファイルの内容を取得」(2003/1/29)も見てみたのですが、
「_RecordsetPtr」の型がヘルプで見つからない等で理解ができませんでした。
ODBC API関数か何かを使う必要があるのでしょうか。

よろしくご教示下さい。


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

VC++6のHELP(MSDN)に「データベース トピック(総合)」と言うのがあります。
これの下の方に「データベース カタログ情報について学ぶには」と言うのがあるので
ここからリンクを辿って調べてみてはどうでしょうか。
ざっと見た感じでは参考になると思いました。


返信引用
ん
 ん
(@ん)
ゲスト
結合: 23年前
投稿: 106
 

以下のSQL文がひょっとすると役に立つかもしれません。
(IBMのDB2の環境でのSQL文なんで、他の環境では試してないですが。)

describe select * from [テーブル名]

使えなかったらごめんなさい。


返信引用
長谷川
 長谷川
(@長谷川)
ゲスト
結合: 20年前
投稿: 7
Topic starter  

回答有難うございます。

PATIOさん:
CDatabaseではなく、CDaoDatabaseを使わないといけないみたいですね。
書き換えてやってみます。

んさん:
SQL文にdescribeがあったかどうか定かではありませんが、試してみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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