| Imports System
Imports Fujitsu.Shunsaku
Imports System.ComponentModel
Class SampleDirectAccessSearch
  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 = "DirSvr1"
      service.Port = 33101
      service.ShunsakuFile = "shunsakuFile1"
      service.Connect()
      '' Create ShunKeyRequirement object for searching data
      Dim keyReq As ShunKeyRequirement = new ShunKeyRequirement()
      keyReq.KeyName = "key"
      '' Add the key to be searched
      keyReq.Records.Add( new ShunRecord() )
      keyReq.Records( 0 ).Key = "0001"
      '' Specify the search condition and execute the search
      Dim rs As ShunResultSet = service.SearchByKey( keyReq, "/" )
      '' Obtain the source information of the direct access key
      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}", i )
        Console.WriteLine( "Direct access key: {0}", record.Key )
        Console.WriteLine( "Data                :" )
        Console.WriteLine( 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 |