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 データの検索

11.2.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)

◆(1) データ操作ハンドルの割当て

事前にデータ操作ハンドルを割り当てます。データ操作ハンドルは、ShunAllocHandle関数に、親ハンドルとなるコネクションハンドルを指定して割り当てます。

◆(2) 検索の実行

ShunSearch関数のパラメタに、データ操作ハンドル、データの取得位置(取得開始位置または取得終了位置)、データの最大件数、検索式およびリターン式を指定して検索を実行します。

◆(3) 検索した結果の取出し

ShunSearch関数では、検索した結果のアドレスを返却します。

検索した結果は、構造体の配列で構成されていますので、これをもとにデータを取り出します。

ShunSearch関数では、検索結果とともにXML文書を一意に識別するレコードID(コンダクタ制御情報および返信レコード識別子)を返却します。レコードIDは、対応するXML文書の全体を取り出したり、削除、更新する場合に使用します。

◆(4) データ操作ハンドルの解放

データの検索および結果の取出しが完了したら、ShunFreeHandle関数でデータ操作ハンドルを解放します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006