2017-11-21 62 views
-1

警告BC42104:変数 'pass'は、値が割り当てられる前に使用されます。実行時にnull参照例外が発生する可能性があります。BC42104エラーコードこのエラーを解決するにはどうすればよいですか?

これは私のコードです:

Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click 
    Dim uname As String = "" 
    Dim pword As String 
    Dim username As String = "" 
    Dim pass As String 
    If TextBox1.Text = "" Or TextBox2.Text = "" Then 
     MsgBox("Please fill the info") 
    Else 
     uname = TextBox1.Text 
     pword = TextBox2.Text 
     Dim query As String = "Select Password From Register where Username= '" & uname & "';" 
     Dim dbsource As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Gui\Documents\Database4.accdb" 
     Dim conn = New OleDbConnection(dbsource) 
     Dim cmd As New OleDbCommand(query, conn) 
     conn.Open() 
     Try 
      pass = cmd.ExecuteScalar().ToString 
     Catch ex As Exception 
      MsgBox("Username does not exit") 
     End Try 
     If (pword = pass) Then 
      MsgBox("Login success") 
      Reg.Show() 
      If Reg.Visible Then 
       Me.Hide() 
      End If 

     Else 
      MsgBox("login Failed") 
      TextBox1.Clear() 
      TextBox2.Clear() 
     End If 
    End If 
End Sub 
+0

ご使用の検索エンジンを使用してエラー番号を入力してください。問題を説明する数千のリンクが見つかります。彼らの多くはこの同じサイトの質問と回答です。 – Steve

+0

私はすでにしていましたが、それらのほとんどは理解できないほど複雑です。私はプログラミングに新しいので、もっと学びたいと思っています。しかし、私はこのエラーを見続ける。 –

+0

それでは、エラーメッセージを再度読もうとしましょう:_変数 'inst'は、値が割り当てられる前に使用されています_変数_inst_はあなたのコードのどこにもありません。したがって、エラーメッセージはこのスニペットに相対的ではありません。この変数を_inst_という_use_で使用するコードを探し、そのコードをここに追加してください。 – Steve

答えて

-1

エラーはあなたが変数パスを初期化していない、と言っていると、いくつかの条件の下で、あなたがそれを使用して終わる可能性があります。正確な、「キャッチ」ブロック内のコントロールの土地ならば、変数「パスは」If (pword = pass)文は、この変数は、任意の値を持たずに達している可能性があることを意味する、任意の値を持ちませんすることが

エラーを修正するには、初期化の時点で変数にヌル値または空の文字列を割り当てます。たとえば、次の文を使用します。

Dim pass As String = ""; 
関連する問題