Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 - |
目次
索引
![]() ![]() |
第2部 APIでのアプリケーション開発 | > 第11章 C APIのアプリケーション開発 | > 11.2 C APIの使用方法 | > 11.2.2 データの検索 |
Webアプリケーションでは、画面にすべての検索結果を表示するのではなく、任意の件数ごとにページ制御することが一般的です。
このような場合、ShunSearch関数の引数に返信開始番号と返信要求件数を指定して、取得するデータの件数を制御します。
件数に応じて検索した結果を取得する場合の流れについて、以下の図に示します。
SHUNHSTMT StmtH; /* データ操作ハンドルの割当て */ ShunAllocHandle(ConH, &StmtH); (1) /* 検索を実行 */ ShunSearch(StmtH, 11, NULL, 0, 5, "/document/base/prefecture == '大阪'", "/document/base/name, /document/base/price", NULL, &Hit_Cnt, &Return_Cnt, &Returnable_Cnt, &Rec_Id_Out, &Data, &First_Pos, &Last_Pos); (2) /* 検索した結果の取出し */ printf("ヒット件数 = %d\n", Hit_Cnt); (3) if(Hit_Cnt > 0) { for (i = 0; i < Return_Cnt; i++) { printf("[結果]%d件目 = %s\n", i+1, Data[i].Data); } } /* データ操作ハンドルの解放 */ ShunFreeHandle(StmtH); (4) |
事前にデータ操作ハンドルを割り当てます。データ操作ハンドルは、ShunAllocHandle関数に、親ハンドルとなるコネクションハンドルを指定して割り当てます。
ShunSearch関数のパラメタに、データ操作ハンドル、データの取得位置(取得開始位置または取得終了位置)、データの最大件数、検索式およびリターン式を指定して検索を実行します。
ShunSearch関数では、検索した結果のアドレスを返却します。
検索した結果は、構造体の配列で構成されていますので、これをもとにデータを取り出します。
ShunSearch関数では、検索結果とともにXML文書を一意に識別するレコードID(コンダクタ制御情報および返信レコード識別子)を返却します。レコードIDは、対応するXML文書の全体を取り出したり、削除、更新する場合に使用します。
データの検索および結果の取出しが完了したら、ShunFreeHandle関数でデータ操作ハンドルを解放します。
目次
索引
![]() ![]() |