【问题标题】:BC42104 error code how can I fix this error?BC42104 错误代码如何修复此错误?
【发布时间】:2018-05-05 09:13:40
【问题描述】:

警告 BC42104:变量“pass”在被赋值之前被使用。运行时可能会导致空引用异常。

这是我的代码:

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

【问题讨论】:

  • 请使用您最喜欢的搜索引擎并输入错误编号。您将找到数以千计的链接来解释问题。其中很多都是同一个网站上的问题和答案。
  • 我已经做过了,但是其中大多数都太复杂了,无法理解我是编程新手,我想了解更多。但我一直看到这个错误。
  • 所以让我们再次尝试阅读错误消息:变量'inst'在被赋值之前被使用变量inst是上面的代码中没有任何地方。所以错误信息与这个sn-p无关。最好在您的代码中使用这个名为 inst 的变量并在此处添加该代码。
  • 我很抱歉变量是“通过”而不是“inst”错过了这个问题。
  • 好吧,现在假设你的 pass = cmd.ExecuteScalar().ToString 行触发了一个异常。代码将继续到catch 块而不在变量pass 中设置值。在代码从 catch 块中退出后,您将 pass 的值与 pword 进行比较。你现在看到问题了吗?编译器试图告诉你这个问题并且不允许你的代码被编译。您只需将 pass 变量设置为默认值即可修复它,就像您已经对 uname 所做的那样

标签: visual-studio visual-studio-2010 visual-studio-2012


【解决方案1】:

正如错误所说,您没有初始化变量 pass 并且在某些情况下,您最终可能会使用它。

确切地说,如果控件落在 'catch' 块中,则变量 'pass' 将没有任何值,这意味着可能 @ 987654321@ 语句在此变量没有任何值的情况下到达。

要修复错误,只需在初始化时为变量分配一个空值或空字符串。例如使用以下语句:

Dim pass As String = "";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多