Interstage Shunsaku Data Manager Application Development Guide - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX -
Contents Index PreviousNext

Appendix H Sample VB .NET Programs> H.1 Searching Data

H.1.4 Obtaining XML Documents that Match Search Conditions after they have been Sorted

When performing a search, the user sometimes prefers to obtain the search results after they have been sorted according to a specific element.

Specify the date and location in the search conditional expression and obtain the number of hotels that match the conditions and partial information about those hotels.

To show how the VB .NET are used, the following example sorts the extracted data in descending order according to the accommodation rate.

mark1Search Conditions

'I want to know the hotels in Sydney that have a vacancy on 2006/07/18, and I want to sort the hotels in descending order according to the accommodation rate.'

Specify the date (2006/07/18) and the location (Sydney) as search conditions. Also specify the accommodation rate in the sort condition and then execute the search.

mark1An Example of Using the APIs

The following is a sample program using the VB .NET.

Imports System
Imports Fujitsu.Shunsaku
Imports System.ComponentModel

Class SampleSort1

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

    Try
      '' Create ShunService
      service = new ShunService()

      '' Connect Shunsaku by specifying the host name and port number
      service.Host = "DirSrv1"
      service.Port = 33101
      service.Connect()

      '' Create ShunSearchRequirement
      Dim req As ShunSearchRequirement = new ShunSearchRequirement()
      
      '' Set each type of search conditions
      req.QueryExpression = "/document {/base/city == 'Sydney' AND /information/date == '2006/07/18'}"
      req.ReturnExpression = "/document/base/name, /document/base/price"
      req.SortExpression = "/document/base/price/text() DESC"
      req.ReplyNumber = 1
      req.RequestCount = 30
      
      '' Specify the search condition and execute the search
      Dim rs As ShunResultSet = service.Search( req )

      '' Display the search results
      Console.WriteLine( "Number of hits  = {0}", rs.HitCount )
      Dim i As Integer = 0
      For Each record As ShunRecord In rs.Records
        i += 1
        Console.WriteLine( "[Result] Item No. {0} = {1}", i, record.Data )
      Next

      '' Close the connection to Shunsaku
      service.Disconnect()
    
    Catch e As ShunContinuousException
      '' Processing to perform if ShunContinuousException occurs
      Try
        If Not service Is Nothing And service.State = ShunConnectionState.Open Then
          service.Disconnect()
        End If
      Catch ex As ShunException
        Console.WriteLine( "Error message : {0}", ex.Message )
      End Try
      Console.WriteLine( "Error message : {0}", e.Message )
    
    Catch e As ShunConnectionTerminatedException
      '' Processing to perform if ShunConnectionTerminatedException occurs
      Console.WriteLine( "Error message : {0}", e.Message )

    End Try
  End Function
End Class

mark1Execution Results

Number of hits       = 3
[Result] Item No. 1 = <document><name>Hotel 1</name><price>350</price></document>
[Result] Item No. 2 = <document><name>Hotel 3</name><price>250</price></document>
[Result] Item No. 3 = <document><name>Hotel 2</name><price>150</price></document>

Contents Index PreviousNext

All Rights Reserved, Copyright(C) FUJITSU LIMITED 2006