I am using the following code by the way:
Public Function GetItemPermissions(ByVal oraConnectionStr As String, ByVal sqlStr As String) As DataTable
Dim DBException As Exception
Dim DBCommand As New OleDb.OleDbCommand()
Dim oraConnection As New OleDb.OleDbConnection()
Dim DBDataReader As OleDb.OleDbDataReader
'Create the DataTable
Dim vDataTable As New DataTable()
Dim vDataRow As DataRow
'Create the columns
Dim vItemName As New DataColumn("ItemName", GetType(String))
Dim vUpdateAllowed As New DataColumn("UpdateAllowed", GetType(String))
Dim myCommand As New OleDb.OleDbCommand(sqlStr, oraConnection)
'Add the columns to the DataTable's Columns collection
vDataTable.Columns.Add(vItemName)
vDataTable.Columns.Add(vUpdateAllowed)
Try
'Get the Oracle connection string.
oraConnection.ConnectionString = oraConnectionStr
DBCommand.Connection = oraConnection
'Open the Oracle connection.
oraConnection.Open()
'Build the Status LOV from a SQL statement.
DBCommand.CommandText = sqlStr
DBCommand.CommandType = CommandType.Text
DBDataReader = DBCommand.ExecuteReader()
While DBDataReader.Read
' add rows from query
vDataRow = vDataTable.NewRow()
vDataRow("ItemName"

= DBDataReader.Item("IPE_ITEM_NAME"

vDataRow("UpdateAllowed"

= DBDataReader.Item("IPE_UPD_ALLOWED"

vDataTable.Rows.Add(vDataRow)
End While
DBDataReader.Close()
Return vDataTable
Catch DBException
exceptionMessageStr = DBException.Message.ToString()
Finally
'Close the Oracle connection.
oraConnection.Close()
End Try
End Function