1
在VB.NET/Access中有DataSet问题。 代码应返回1条记录并在窗体上显示结果。VB.NET - “位置0没有行”但数据库中的记录
基本上当我通过在调试模式下,它返回1行工作正常, 但是当我没有断点运行代码我得到错误信息的代码步骤:
没有排在位置0
VB.NET 2010 & MS访问97
Dim sConnectionString As String = "dsn=MyDatabase"
Dim sSQL As String = ""
Dim DBConnection As New OdbcConnection(sConnectionString)
Dim dsMaster As New DataSet
Dim daMaster As New OdbcDataAdapter
Dim dtMaster As New DataTable
Try
DBConnection.Open()
sSQL = "SELECT * FROM myTable"
daMaster.SelectCommand = New OdbcCommand(sSQL, DBConnection)
daMaster.Fill(dsMaster, "MasterDataSet")
If dsMaster.Tables(0).Rows.Count <> 0 Then
dtMaster = dsMaster.Tables(0)
sItem1 = dtMaster.Rows(0).Item(0).ToString
sItem2 = dtMaster.Rows(0).Item(1).ToString
sItem3 = dtMaster.Rows(0).Item(2).ToString
Else
MessageBox.Show("No Records Available", "Error", MessageBoxButtons.OK)
End If
- 当我运行代码时,我收到消息框没有记录。
- 当我在IF声明的断点运行调试模式时,我得到的消息框没有记录。
- 当我在FILL声明中使用断点运行在调试模式下时,我得到1条记录返回并执行IF语句中的代码。
任何想法?
您的'daMaster.Fill'正在填充名为“MasterDataSet”的表,尝试更改您的If语句以检查'dsMaster.Tables(“MasterDataSet”)。Rows.Count' 或者,从Fill方法中删除参数。 – Ortund
感谢您的回复Logan,现在只能看到您的帖子。当我有机会并且让它知道它是否有效时我会尝试。 – Eireash