マルチスレッドでMDB参照 – プログラミング – Home

マルチスレッドでMDB参照
 
通知
すべてクリア

[解決済] マルチスレッドでMDB参照


ブギー
 ブギー
(@ブギー)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

こんにちわ、ブギーと申します。

Win32コンソールアプリケーションのマルチスレッドで、MDBの参照を
行いたいのですが、使い方がよくわからず困っています。

開発環境は以下のとおりです。
Windows2000 Pro
VC 6.0 SP4
Access2000

はじめに、MSDNの「DAO レコードセット: レコードの動的バインディング」を
参考に、以下ようなサブルーチンを作成しました。
データを検索する為のキー情報を、パラメータで渡します。
単体での動作は問題なさそうでした。

BOOL subDataSearch(CString param)
{
CDaoDatabase db;
CString strSql;

db.Open(test.mdb, FALSE, FALSE, ");
CDaoRecordset rs(&db);

/* 検索条件設定 */
strSql = SELECT a FROM b WHERE [c] = \' + param + \'
rs.Open(strSql);

if(FALSE == rs.IsEOF())
{
rs.GetFieldValue(d, var);
:
:
}
rs.Close();
db.Close();
}

このサブルーチンを、2つのスレッドから任意のタイミングで
コールしたいのですが、あとからコールした方の、db.Open()
ところでAccess Violationがおきます。

こういった使い方をする場合の手続きが何か足りないのだとは
思いますが、何をどうしたら良いのか、MSDNをみていても
わかりません。

どなたか、アドバイスをお願い致します。


引用未解決
トピックタグ
EIJI
 EIJI
(@EIJI)
ゲスト
結合: 25年前
投稿: 76
 

オープンする前に AfxDaoInit() を呼んでみてください。


返信引用
ブギー
 ブギー
(@ブギー)
ゲスト
結合: 23年前
投稿: 2
Topic starter  

こんにちわ、ブギーです。

EIJIさん、ありがとうございます!
解決しました!!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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