ページの先頭行へ戻る
Interstage Shunsaku Data Manager アプリケーション開発ガイド

H.1.6 ヒット件数の上限値を設定する

ヒット件数の上限値を設定する場合のVB .NETの使用例を示します。


APIの使用例

以下にVB .NETを使用したプログラミング例を示します。

Imports System
Imports Fujitsu.Shunsaku
Imports System.ComponentModel

Class SampleSearchLimit 

  Shared Public Function Main( ByVal args() As String ) As Integer
    Dim service As ShunService = Nothing

    Try
      '' ShunService の作成
      service = new ShunService()

      '' ホスト名 ポート番号を指定して Shunsaku に接続
      service.Host = "DirSvr1"
      service.Port = 23101
      service.Connect()

      '' ShunSearchRequirement の作成
      Dim req As ShunSearchRequirement = new ShunSearchRequirement()

      '' 各種検索条件の設定
      req.QueryExpression = "/document/base/name = 'ホテル'"
      req.ReturnExpression = "/document/base/name/text(), /document/base/price/text()"
      req.SortExpression = "/document/base/price/text()"
      req.ReplyNumber = 1
      req.RequestCount = 5

      '' ヒット件数リミッタを設定
      req.HitCountLimit = 5

      '' 検索条件を指定して検索を実行
      Dim rs As ShunResultSet = service.Search( req )

      '' 検索結果の表示
      Console.WriteLine( "ヒット件数  = {0}", rs.HitCount )
      If rs.IsHitCountLimitOver
        Console.WriteLine( "ヒット件数リミッタをオーバーしました。" )
      End If
      Dim i As Integer = 0
      For Each record As ShunRecord In rs.Records
        i += 1
        Console.WriteLine( "[結果]{0}件目 = {1}", i, record.Data )
      Next

      '' Shunsaku から切断
      service.Disconnect()

    Catch e As ShunContinuousException
      '' ShunContinuousExceptionが発生した場合の処理を記述
      Try
        If Not service Is Nothing And service.State = ShunConnectionState.Open Then
          service.Disconnect()
        End If
      Catch ex As ShunException
        Console.WriteLine( "エラーメッセージ : {0}", ex.Message )
      End Try
      Console.WriteLine( "エラーメッセージ : {0}", e.Message )
    
    Catch e As ShunConnectionTerminatedException
      '' ShunConnectionTerminatedExceptionが発生した場合の処理を記述
      Console.WriteLine( "エラーメッセージ : {0}", e.Message )

    End Try
  End Function
End Class

実行結果

ヒット件数       = 8
ヒット件数リミッタをオーバーしました。