2010-12-01 125 views
-1

當我運行下面的代碼它thows以下錯誤:錯誤 - 對象引用不設置到對象的實例

"Object reference not set to an instance of an object."

Protected Sub CreateUserWizard1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles CreateUserWizard1.Load 

    Dim SQLData As New System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True") 
    Dim cmdSelect As New System.Data.SqlClient.SqlCommand("SELECT TOP 1 EmployeeId FROM a1_admins Order by Id DESC", SQLData) 
    Dim label11 As Label = CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Label11") 
    SQLData.Open() 
    Dim dtrReader As System.Data.SqlClient.SqlDataReader = cmdSelect.ExecuteReader() 
    If dtrReader.HasRows Then 
     While dtrReader.Read() 
      label11.Text = dtrReader("EmployeeId") 
     End While 
    End If 
    dtrReader.Close() 
    SQLData.Close() 
End Sub 

End Class 

我該如何解決這個問題?

+0

哪行代碼拋出異常?此外,如果您將其格式化爲代碼,則會更容易閱讀。 – Chaulky 2010-12-01 16:31:01

+0

[對象引用未設置爲對象實例]的可能重複(http://stackoverflow.com/questions/548932/object-reference-not-set-to-an-instance-of-an-object) – Justin 2011-12-16 15:02:28

回答

0

這是艱難而不堆棧跟蹤(也許你能提供嗎?)說了,但我的猜測,看着你的代碼是以下行返回null

Dim label11 As Label = CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Label11") 

,你試圖設置它的「Text」屬性在這裏,即使變量爲空(null對象上訪問屬性)

label11.Text = dtrReader("EmployeeId") 
0

您的FindControl致電正在返回null

0

就嘗試用以下並檢查是否異常仍出現更換label11.Text = dtrReader("EmployeeId")

If Not label11 Is Nothing Then 
label11.Text = dtrReader("EmployeeId") 
End If 

如果異常沒有顯示出來,這意味着你的FindControl方法是無法找到ID爲「Label11」,從而label11分配一個空值的控制。

相關問題