| Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 - |
目次
索引
![]()
|
| 第1部 アプリケーション開発の基本 | > 第6章 ダイレクトアクセス機能 | > 6.4 ダイレクトアクセスキーでデータを検索する |
ダイレクト検索には、ShunSearchKey関数を使用します。
C APIでのダイレクト検索の流れについて、以下の図に示します。

/* 以下のように用意されていることを仮定しています */
/* pKey :ダイレクトアクセスキーを設定する構造体配列 */
SHUNHSTMT StmtH;
/* データ操作ハンドルの割当て */
ShunAllocHandle(ConH, &StmtH);
/* ダイレクトアクセスキーによる検索を実行 */
pKey[0].Key = "20061101,00000001"; (1)
pKey[0].Key_Len = strlen( pKey[0].Key );
pKey[1].Key = "20061101,00000002"; (1)
pKey[1].Key_Len = strlen( pKey[1].Key );
pKey[2].Key = "20061101,00000003"; (1)
pKey[2].Key_Len = strlen( pKey[2].Key );
ShunSearchKey(StmtH, "key1", SHUN_KEY_COMPLETE_MATCH, 3, pKey, "/",
&Return_Cnt, &Rec_Id_Out, &Data, &Key_Out); (2)
/* 検索した結果の取出し */
printf("結果件数 = %d\n", Return_Cnt);
if(Return_Cnt > 0) {
for (i = 0; i < Return_Cnt; i++) {
printf("[結果]%d件目 = %s\n", i+1, Data[i].Data); (3)
}
}
/* データ操作ハンドルの解放 */
ShunFreeHandle(StmtH); |
構造体SHUNKEYにダイレクトアクセスキーを設定します。
ShunSearchKey関数のパラメタに、データ操作ハンドル、ダイレクトアクセスキー名、リターン式、依頼ダイレクトアクセスキー数、依頼ダイレクトアクセスキーの配列を指定して検索を実行します。

ShunSearchKey関数では、複数のダイレクトアクセスキーを指定することで、一度に複数のXML文書を取得することもできます。
ShunSearchKey関数では、検索した結果のアドレスを返却します。
検索した結果は、構造体の配列で構成されていますので、これをもとにデータを取り出します。また、XML文書が存在しない場合、配列の要素であるデータへのポインタにはNULLが、データサイズには0が設定されます。

ダイレクトアクセスのサンプルプログラムは、“J.3.2 ダイレクトアクセスを使用してデータを検索する”を参照してください。
目次
索引
![]()
|