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 ダイレクトアクセスを使用してデータを検索する”を参照してください。
目次
索引
![]() ![]() |