CDaoDatabaseの使い方を教えて下さい – プログラミング – Home

CDaoDatabaseの使い方を教え...
 
通知
すべてクリア

[解決済] CDaoDatabaseの使い方を教えて下さい


自然水
 自然水
(@自然水)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

Win2000、VC++6.0です。
CDaoDatabaseのOpenが出来ません。

#include <afxdao.h>

CDaoDatabase m_Database;
CString mdbPath = D:\\tmp\\Master.mdb;

try{
m_Database.Open( mdbPath );
}
catch(CDaoException* e){
AfxMessageBox(Error: DATABASE.Open);
e->Delete();
return(-1);
}

上記のようにするとOpenができません。
何かおかしな点がありましたら、教えていただけませんでしょうか。


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

せっかく例外処理が発生しているわけですから、
例外ポインタeから何か情報を取ってみましょうよ、なぜ失敗したかわかるかもしれませんよ。
e->GetErrorMessage(...)とか、
CDaoException::m_pErrorInfoというメンバもあるようですが。


返信引用
自然水
 自然水
(@自然水)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

sugarの言う通りにe->GetErrorMessageで取得してみましたら、
「データベース形式'D:\tmp\Master.mdb'を認識できません。」でした。
ファイルパスは合っています。*.mdbの認識をさせる方法とかあるのでしょうか。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

VC++ではありませんでしたが、以前、似たような経験をした気がします。
その時は確か、DAOのバージョンとmdbファイルのバージョンの不一致だったと思います。
(mdbはAccess2000で作ったやつで、DAOが古かったために認識してくれなかった)

自然水さんの使ってらっしゃるPCにインストールされてるDAOのバージョンと、
Master.mdbファイルのバージョンを、再度確認されてみてはどうでしょう。

はずしてたらごめんなさい。


返信引用
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

もしもAccess 2000で作ったデータベースを開こうとしているのなら、

MFCでDAOを使ってAccess 2000のデータベースを扱うときは、
ちょっと小細工をしないとだめみたいです。
http://www.microsoft.com/msj/0100/c++/c++0100.asp
に方法が載ってます。(2つ目のQ&A)


返信引用
自然水
 自然水
(@自然水)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

sugarさん、kazumaさんありがとうございます。
versionとQ&Aを再度調べテストしてみます。少し時間が掛かりそうなので一度解決に致しま
す。それでも駄目な場合は再度掲示板に投稿します。その時はよろしくお願い致します。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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