首页 > 解决方案 > 变量未声明。由于其保护级别,它可能无法访问

问题描述

我是 VB.NET 的新手。

我的问题是我有一个文本框并将数据输入数据库

<asp:TextBox ID="txt_hello" runat="server"  Width="130px"></asp:TextBox></td>

然后我可以连接到数据库但是当我在列中输入'hello'并提交时,它会弹出错误消息:

'txt_hello' 未声明。由于其保护级别,它可能无法访问。

Dim hello as String = txt.hello

If xxx  Then
sqlUpdate = "UPDATE xxx SET server='" ,Hello=" & hello & " 
ElseIf xxx Then
sqlUpdate = "INSERT INTO xxx (Hello ) values ("& hello & ")" 

我的数据库表列名称是“Hello”。

谁能给我建议?

标签: vb.net

解决方案


永远不要连接字符串来构建 sql 字符串。始终使用参数。该Using...End Using块确保连接已关闭和处置以及命令已处置。

    Dim sql As String
    If Condition1 Then
        sql = "UPDATE SomeTableName SET Hello= @Hello;"
    ElseIf Condition2 Then
        sql = "INSERT INTO SomeTableName (Hello ) values (@Hello);"
    Else
        Return
    End If
    Using con As New OleDbConnection(ConStr),
            cmd As New OleDbCommand(sql, con)
        cmd.Parameters.Add("@Hello", OleDbType.VarChar).Value = txt_Hello.Text
        con.Open()
        cmd.ExecuteNonQuery()
    End Using

推荐阅读