2015-06-18 2 views
2

Я пытаюсь получить данные от Oracle до Datatable. Моя идея состояла в том, чтобы создать функцию для работы со всеми сотрудниками, а затем вызвать ее из других частей кода.Return DataTable от ORACLE

Как:

dt = New DataTable 
dt = Oracle2table(sql.ToString) 

Затем я создал функцию:

Function Oracle2table(ByVal sql As String) As DataTable 

    Oracle2table = Nothing 

    Try 
     conn = New OleDb.OleDbConnection(connString) 

     conn.Open() 

     cmd = New OleDbCommand(sql, conn) 

     adaptador = New OleDbDataAdapter 
     adaptador.SelectCommand = cmd 

     adaptador.Fill(Oracle2table) 

     conn.Dispose() 

    Catch ex As Exception 
     MessageBox.Show("Error al cargar la tabla. ERROR = " + ex.ToString) 

    Finally 

     Oracle2table = Nothing 

    End Try 

End Function 

Проблема с этим кодом является инициализировать переменную (Oracle2table = ничего), поэтому я не не получил ошибка функции.

ответ

0

Я не специалист VB, но этот код работал нормально, так что это может быть полезно для вас:

Dim dt = Oracle2table("select * from dual") 
Console.WriteLine(dt.Rows(0)(0)) 

Функция (я извлекал обработку для простоты исключения):

Function Oracle2table(ByVal sql As String) As DataTable 
    Dim conn = New OleDbConnection(connString) 

    Oracle2table = New DataTable 
    conn = New OleDb.OleDbConnection(connString) 
    conn.Open() 
    Dim cmd = New OleDbCommand(sql, conn) 

    Dim adaptador = New OleDbDataAdapter 
    adaptador.SelectCommand = cmd 
    adaptador.Fill(Oracle2table) 
    conn.Dispose() 
End Function 
Смежные вопросы