2014-01-29 64 views
0

我試圖使用DataReader從MS ACCESS數據庫中抓取數據,然後使用數據讀取器中的項目進行一些計算。這就是我正在做的一行。多行數據讀取器

Dim dataRead As OleDb.OleDbDataReader = dataCom1.ExecuteReader 
    If (dataRead.Read() = True) Then 
     x = dataReader.Item("x") 
     y = dataReader.Item("y") 
     z = dataReader.Item("z") 
    End If 

我試圖做與隨機檢索多行相同。目前我有這個:

Dim dataRead2 As OleDb.OleDbDataReader = dataCom2.ExecuteReader 
    For i As Integer = 0 To 4 
     If (dataRead2.Read() = True) Then 
      a(i) = dataRead2.Item("z") 
      b(i) = dataRead2.Item("y") 
      c(i) = dataRead2.Item("x") 
      i = i + 1 
     End If 
    Next 

每當我運行它,我得到一個錯誤。

我得到的錯誤「Object reference not set to an instance of an object." on the line a(i)

+0

你有什麼錯誤? 'descarray'如何聲明? –

+0

descarray被聲明爲Descarray()As String。我收到錯誤「對象引用未設置爲對象的實例」。在線descarray(i) – Fulgurite

+0

你可以嘗試'Dim Descarray(4)As String' –

回答

2

它出現在數組聲明,但不與任何特定的尺寸。你應該把它聲明爲:

Dim Descarray(4) As String 

將舉行5串(0 ... 4)

您還可以使用:

ReDim Descarray(5) 

數組已經聲明後。