- - PR -
Executeメソッドの完了待ち合わせについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-01-30 13:44
テーブルの書込みおよび読込みを行うDLLを作成したのですが
書込み処理直後に読込み処理を実行するとテーブルのデータを 取得できない事があります。 1.アプリAのDLLでテーブル書込処理(nレコード)を実施 2.アプリAからアプリBに書込処理実施を通知 3.アプリBのDLLでテーブル読込処理(nレコード)を実施 ⇒この時に書込まれていないレコードが存在する 「ExecuteCompleteイベントを使用すれば完了を待ち合わせられる」 という事までは理解できたのですが実現方法がわかりません。 どなたか教えて頂けると助かります。 現状ソースは下記のようになっています。 extern "C" int __declspec(dllexport) __stdcall ABCDE( ) { int iRet = 0; _ConnectionPtr ptrConnect; _RecordsetPtr ptrRecordset; _CommandPtr ptrCommand; _bstr_t strSQL; _variant_t varNull; ::CoInitialize(NULL); ptrConnect.CreateInstance(__uuidof(Connection)); ptrConnect->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = xxxxx.mdb" , "", "", adConnectUnspecified ); ptrRecordset.CreateInstance(__uuidof(Recordset)); ptrCommand.CreateInstance(__uuidof(Command)); varNull.vt = VT_ERROR; varNull.scode = DISP_E_PARAMNOTFOUND; strSQL = "update txxxxxTbl set sxxxxxSts = '1' where(lxxxxxNo = 1)"; ptrCommand->ActiveConnection = ptrConnect; ptrCommand->CommandText = strSQL; ptrRecordset->PutRefSource( ptrCommand ); ptrCommand->Execute( NULL, NULL, adCmdText ); // ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ // ここでExecuteの完了を待ち合わせたい // ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ ptrCommand.Release(); ptrRecordset.Release(); ptrConnect->Close(); ptrConnect.Release(); ::CoUninitialize(); return iRet; } よろしくお願い致します。 |
1