Imports IBM.Data.DB2.iSeries Module ConsoleData Sub Main() Dim StartTime As DateTime 'create the connection object to connect to iSeries StartTime = DateTime.Now Dim cn As New iDB2Connection("DataSource=M270") Try cn.Open() Catch ex As iDB2Exception HandleError("An error occurred on cn.Open()", ex) Exit Sub End Try PrintTime("After new iDB2Connection", StartTime) 'create a command object and initialize it to a valid SQL statement StartTime = DateTime.Now Dim cmd As New iDB2Command("select * from QIWS.qcustcdt", cn) 'create a data reader object, fill it by executing the command Dim dr As iDB2DataReader Try dr = cmd.ExecuteReader Catch ex As iDB2Exception HandleError("An error occurred on cmd.ExecuteReader()", ex) Exit Sub End Try PrintTime("After cmd.ExecuteReader", StartTime) 'iterate over the data reader, write out values for each row/column StartTime = DateTime.Now While (dr.Read() = True) Dim I As Integer For I = 0 To dr.FieldCount - 1 Console.Write(dr.GetName(I)) Console.Write(":" & vbTab) Console.WriteLine(dr.GetValue(I)) Next Console.WriteLine("------------------------------------") End While PrintTime("After dr.Read()", StartTime) 'clean up objects on the way out StartTime = DateTime.Now dr.Close() cmd.Dispose() cn.Close() PrintTime("After cn.Close()", StartTime) Console.WriteLine("Press ENTER to end") Console.ReadLine() End Sub Sub HandleError(ByVal errorOccurred As String, ByVal ex As iDB2Exception) Console.WriteLine(errorOccurred) Console.WriteLine("Source: " & ex.Source) Console.WriteLine("SQLState: " & ex.SqlState) Console.WriteLine("Message: " & ex.Message) Console.WriteLine("MessageCode: " & ex.MessageCode) Console.WriteLine("MessageDetails: " & ex.MessageDetails) Console.ReadLine() End Sub Sub PrintTime(ByVal Message As String, ByVal StartTime As DateTime) Dim ts As TimeSpan = DateTime.Now.Subtract(StartTime) Console.WriteLine("{0, -40}: {1}", _ Message, _ ts.TotalSeconds.ToString()) End Sub End Module