Return 来自 ORACLE 的数据表

Return DataTable from ORACLE

我正在尝试将数据从 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 = nothing),所以我没有收到函数错误。

我不是 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