You could use a DataAdapter. Here is an example using it to retrieve data from Sql Server:-
vbnet Code:
  1. '
  2.         Dim conn As SqlConnection = New SqlConnection(connectionString)
  3.  
  4.         Dim myDataAdapter As New SqlDataAdapter
  5.         Dim cmd As New SqlCommand("Select * From MyTable", conn)
  6.         Dim myDataTable As New DataTable
  7.  
  8.         'Set the select command on the DataAdapter
  9.         myDataAdapter.SelectCommand = cmd
  10.  
  11.         'Fill the DataTable
  12.         myDataAdapter.Fill(myDataTable)

Note that whatever state the connection was in when Fill was called will be restored after Fill is finished. So if the connection was closed before, it will be closed after.