| Interstage Shunsaku Data Manager Application Development Guide - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX - |
Contents
Index
![]()
|
| Appendix H Sample VB .NET Programs | > H.1 Searching Data |
When performing a search, the user sometimes prefers to obtain the search results after the value of a specific element has been aggregated.
To show how the VB .NET are used, the following example specifies the location in the search conditional expression and extracts the cheapest accommodation rate, the most expensive accommodation rate, and the average accommodation rate.
Search Conditions'Among the hotels with a vacancy on 2006/07/18, I want to use aggregation to obtain the cheapest hotel, the most expensive hotel and the average hotel rate according to district.'
Specify the date (2006/07/18) as the search condition and then apply aggregation expressions (min, max and avg) to the results to obtain aggregated results.
An Example of Using the APIsThe following is a sample program using the VB .NET.
Imports System
Imports Fujitsu.Shunsaku
Imports System.ComponentModel
Class SampleSort2
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/information/date == '2006/07/18'"
req.ReturnExpression = "/document/base/city/text(), min(/document/base/price/text()), max(/document/base/price/text()), avg(/document/base/price/text())"
req.SortExpression = "/document/base/city/text()"
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
'' Obtain the data that corresponds to the search conditions
Dim i As Integer = 0
For Each record As ShunRecord In rs.Records
i += 1
Console.WriteLine( "[Result] Item No. {0}:", i )
Dim result As String()() = record.GetDividedData()
Console.WriteLine(" District :{0}", result( 0 )( 0 ) )
Console.WriteLine(" Cheapest rate:{0}", result( 1 )( 0 ) )
Console.WriteLine(" Most expensive rate:{0}", result( 2 )( 0 ) )
Console.WriteLine(" Average rate:{0}", result( 3 )( 0 ) )
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 |
Execution Results
[Result] Item No.1: District: Adelaide Cheapest rate: 100 Most expensive rate: 300 Average rate: 200 [Result] 2nd: District: Sydney Cheapest rate: 150 Most expensive rate: 350 Average rate: 250 |
Contents
Index
![]()
|