【发布时间】:2021-08-09 12:14:22
【问题描述】:
我正在尝试通过 vb.net 应用程序使用 ODBC 驱动程序连接到 AS400 服务器,但问题是我正在尝试填充数据集,并且每当我想显示数据时,我都找不到任何东西
这是我的代码:
Dim cn As OdbcConnection
Dim cm As OdbcCommand
Dim dm As OdbcDataAdapter
Sub ConnServer()
Try
cn = New OdbcConnection("DSN=AS400_CA;UID=root;PWD=*****;")
cn.Open()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Ecriture Comptable")
End Try
End Sub
Public Function GetData(query As String) As DataTable
Try
cn = New OdbcConnection("DSN=AS400_CA;UID=root;PWD=*****;")
Dim cmd As OdbcCommand = New OdbcCommand(query, cn)
cn.Open()
Dim ds = New DataSet()
cmd.Connection = cn
dm.SelectCommand = cmd
dm.Fill(ds, "table")
Dim data = ds.Tables("table")
cn.Close()
Return data
Catch ex As Exception
con.Close()
Return New DataTable()
End Try
End Function
```
【问题讨论】:
-
您是否检查了 GetData 是否以异常结尾?此代码无法告诉您是否有错误或查询是否生成空表
-
你至少在GetData的Catch块中放了一个断点吗?同样在你的捕获中,你有 con.Close()。 con 来自哪里,其他地方都认为是 cn。您的代码也可能受益于“使用”语句,这将帮助您管理连接
标签: vb.net odbc ibm-midrange