2010-12-01 16 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

+0

[オブジェクト参照がオブジェクトのインスタンスに設定されていない]の複製が可能です。(http://stackoverflow.com/questions/548932/object-reference-not-set-to-an-instance-of-an-object) – Justin

+0

実際に[.NETでNullReferenceExceptionとは何ですか?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)は良いです – Justin

答えて

0

それはスタックトレース(多分あなたはそれを提供することができますか?)せずに言うのは難しいのですが、私の推測では、あなたのコードを見ていると、次の行がnull

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

を返して、あなたが設定しようとしているということですそれは

label11.Text = dtrReader("EmployeeId") 
+0

この問題を解決するには? –

+0

ラベルの名前が存在することを確認してください。私はあなたが使用しているCreateUserWizardコントロールに慣れていませんが、主な問題はあなたのコントロールを見つけることができないということです。 – Benny

0

FindControlコールはnullです。

0

だけで、次の例外がまだ発生するかどうかを確認してlabel11.Text = dtrReader("EmployeeId")を交換してみてください(nullオブジェクトのプロパティにアクセスする)変数がNULLであっても、ここでは「テキスト」プロパティです。

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

例外があなたのFindControlメソッドはID「Label11」がコントロールを見つけることができないため、label11にnull値を割り当てることを意味し、表示されない場合。

関連する問題