您好我的问题是设计用于从Oracle 11数据库中的表返回数据。我使用OracleDataAdapter来填充数据集,在这种情况下,代码无法填充数据集,尽管表中有数据。代码不会生成异常,就好像代码认为表是空的一样。覆盖函数中的SQL以从其他表成功返回数据会将数据返回到数据集。这让我疯了,没有任何意义。这是功能:
Public Overridable Function GetData(ByVal sqlStatement As String) As DataSet
Dim myConnection As New OracleConnection
Dim myCommand As OracleCommand = Nothing
Dim myDataAdapter As OracleDataAdapter
Dim myDataSet As New DataSet
myConnection = New OracleConnection
myConnection.ConnectionString = _connectStr
If sqlStatement = "" Then
sqlStatement = "SELECT ID, TEXT " & _
"FROM P_TBL_DEVICECATEGORY"
End If
Try
myDataAdapter = New OracleDataAdapter(sqlStatement, myConnection)
myDataAdapter.Fill(myDataSet, "DeviceCategory")
myConnection.Close()
Catch ex As Exception
Throw
Finally
CType(myConnection, IDisposable).Dispose()
End Try
Return myDataSet
End Function
在过去10年中,此代码在数据库中的多个其他表上进行了尝试和信任,它只返回此表中的数据,这是问题所在。以下是从SQLDeveloper执行的函数中列出的SQL的结果:
" ID"" TEXT"" CHANGEDBYID"" CHANGEDON" " 1"" GMCB"" 1"" 31-JAN-17" " 2"" PMCB"" 1"" 31-JAN-17" " 3"" GMSW"" 1"" 31-JAN-17" " 4"" PMSW"" 1"" 31-JAN-17"
非常感谢任何帮助。
亲切的问候 保罗J。