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