2015-01-16 44 views
0

代碼,我只是新的aspx.net呼叫數組變量從後面

我嘗試從aspx.vb但問題調用數組變量發生

對象引用不設置到對象的實例。

這裏的代碼aspx.vb:

Imports System.Data.OleDb 
Partial Class MasterPage Inherits System.Web.UI.MasterPage 

Public count() As String 
Public Location() As String 
Public m As Integer = 1 
Public i As Integer = 1 

Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
           "Data Source=" & Server.MapPath("db1.mdb") 

    Dim cn As OleDbConnection = New OleDbConnection(connectString) 

    cn.Open() 

    Dim selectString As String = "SELECT * FROM Landslides" 
    Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn) 
    Dim reader As OleDbDataReader = cmd.ExecuteReader() 



    While (reader.Read()) 

     count(m) = reader("Bil").ToString 
     Location(m) = reader("Location").ToString 
     m += 1 
    End While 


End Sub 

代碼在ASPX:

<% For i = 1 To m Step 1 %> 

    <li><br /><a href='Second.aspx?id='> <%Response.Write(Location(m))%> </a></li> 
           <%Next%> 

當我嘗試編譯的結果是好的。但是當我嘗試加載網站時會出現錯誤。我正在使用visual studio 2005

+0

檢查循環,如果'讀者( 「膽紅素」)''是null'。如果'reader(「Bill」)'爲空,則直接調用'ToString()'方法,該方法將拋出一個空引用異常。 –

+0

是啊已經檢查它。它不是空的。但我嘗試更改這樣的錯誤行 count(0)=「你好」 錯誤仍然存​​在 – ZackRich

+0

重複的[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/問題/ 4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –

回答

0

在數組中添加一個條目後,您正在增加m的值,因此當wile循環結束時,您的數組將會比m的值短一個長度。所以當你試圖訪問數組中的最後一個值時,你會得到這個錯誤。在數組中添加條目之前,將m賦值爲0並增加。

Public m As Integer = 0 

而變化,而這樣的

While (reader.Read()) 
    m += 1 
    count(m) = reader("Bil").ToString 
    Location(m) = reader("Location").ToString 

End While 
+0

我已經改變了它,但仍然會出現同樣的問題。 未將對象引用設置爲對象的實例。 代碼 - count(m)= reader(「Bil」)。ToString – ZackRich