我使用OleDbDataAdapter的VB.NET中對查詢結果加載到數據集。
但是,當我遍歷代碼時,它僅將列加載到數據集中,而不是查詢中的行。
我做了一個簡單的測試,將該查詢結果導出到一個單獨的Access數據庫中,然後嘗試加載它並正常工作。
我不確定填充的命令是否支持加載查詢結果?
這是我使用加載了Access表中的代碼:
Dim dsAccess As New DataSet
Dim da As OleDb.OleDbDataAdapter
Try
If conAccess.State = ConnectionState.Open Then
sql = "SELECT * FROM " & strTblName
da = New OleDb.OleDbDataAdapter(sql, conAccess)
da.Fill(dsAccess, strTblName)
Else
Return False
End If
Catch ex As System.Exception
Return False
Finally
da = Nothing
End Try
注意,我已經編輯了這個問題,以顯示我的「查詢」的實際表結構。
這就是我想上執行選擇查詢。
查詢的設計視圖:
希望這有助於診斷這個問題!
你顯示的東西看起來不錯。該表中有行嗎?嘗試FILL()而不傳遞表名,這會改變結果嗎? – Steve
@沒有運氣。相同的結果。只需加載列。我在Access中檢查並重新檢查。該查詢集中有數據。大約有2292條記錄。這可能是一個問題嗎? –
我只通過傳入一個DataTable來使用DataAdapter.Fill。如果你傳遞一個DataTable,它是否工作? –