uCosminexus DocumentBroker Version 3 クラスライブラリ C++ 解説
![[目次]](figure/content.gif)
![[用語]](figure/gloss.gif)
![[索引]](figure/index.gif)
![[前へ]](figure/front.gif)
複数のCdbrEqlStatementオブジェクトを使用して検索を実行する場合に,個々の検索を終了しないで多数の検索を実行すると,エラーになることがあります。
複数の検索を実行する場合も,一つ一つの検索をそのつど終わらせるようなコーディングにすることをお勧めします。
ここでは,エラーになる可能性があるコーディング例と,それを改善した推奨コーディング例を示します。
ここでは,エラーになる可能性があるコーディング例を示します。
なお,処理の流れを明確にするため,引数は省略しています。
// 変数宣言
CdbrEqlStatement* pEqlStatement1 = NULL;
CdbrEqlStatement* pEqlStatement2 = NULL;
・
・
・
// オブジェクトを作成する。
pEqlStatement1 = new CdbrEqlStatement();
pEqlStatement2 = new CdbrEqlStatement();
・
・
・
//////////////////////////////////////
// オブジェクトを初期化する。
//////////////////////////////////////
rc = pEqlStatement1->Initialize(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
rc = pEqlStatement2->Initialize(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
・
・
・
//////////////////////////////////////
// 実行するedmSQL文を設定する。
//////////////////////////////////////
rc = pEqlStatement1->Set(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
rc = pEqlStatement2->Set(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
・
・
・
//////////////////////////////////////
// 検索を実行する。
//////////////////////////////////////
rc = pEqlStatement1->Execute(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
rc = pEqlStatement2->Execute(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
・
・
・
//////////////////////////////////////
// 検索結果を取得する。
//////////////////////////////////////
rc = pEqlStatement1->GetResult(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
rc = pEqlStatement2->GetResult(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
・
・
・
ここでは,推奨するコーディング例を示します。
なお,処理の流れを明確にするため,引数は省略しています。
// 変数宣言
CdbrEqlStatement* pEqlStatement1 = NULL;
CdbrEqlStatement* pEqlStatement2 = NULL;
・
・
・
// オブジェクトを作成する。
pEqlStatement1 = new CdbrEqlStatement();
pEqlStatement2 = new CdbrEqlStatement();
・
・
・
//////////////////////////////////////
// オブジェクトを初期化する。
//////////////////////////////////////
rc = pEqlStatement1->Initialize(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 実行するedmSQL文を設定する。
//////////////////////////////////////
rc = pEqlStatement1->Set(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索を実行する。
//////////////////////////////////////
rc = pEqlStatement1->Execute(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索結果を取得する。
//////////////////////////////////////
rc = pEqlStatement1->GetResult(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索を終了する。
//////////////////////////////////////
rc = pEqlStatement1->Terminate();
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// オブジェクトを削除する。
//////////////////////////////////////
delete pEqlStatement1;
//////////////////////////////////////
// オブジェクトを初期化する。
//////////////////////////////////////
rc = pEqlStatement2->Initialize(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 実行するedmSQL文を設定する。
//////////////////////////////////////
rc = pEqlStatement2->Set(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索を実行する。
//////////////////////////////////////
rc = pEqlStatement2->Execute(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索結果を取得する。
//////////////////////////////////////
rc = pEqlStatement2->GetResult(...);
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// 検索を終了する。
//////////////////////////////////////
rc = pEqlStatement2->Terminate();
if(DMA_TRUE != rc)
{
// エラー処理
}
//////////////////////////////////////
// オブジェクトを削除する。
//////////////////////////////////////
delete pEqlStatement2;
All Rights Reserved. Copyright (C) 2006, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2006, 2013, Hitachi Solutions, Ltd.