Asp.net字符串创建为运营商"&"错误VB

时间:2015-08-27 11:27:57

标签: asp.net vb.net

我在Asp.net网页上有一个SQL字符串,后面有vb代码。

以前工作正常,但由于未知原因,我现在开始收到以下错误:

错误:Sys.WebForms.PageRequestManagerServerErrorException:Operator'&'未定义字符串" UPDATE dbusersdata SET`SH"并键入' TextBox'。

更新:SH是一个字符串(' SAVE'或' HIDE')

更新:我在后台使用MySQL数据库。

Protected Sub savehide_SelectedIndexChanged(sender As Object, e As EventArgs)

            Dim SQLstring As String = ""
            Dim SH As String
            SH = saveorhide.SelectedItem.Value
            ' the following line is where the error occurs
            SQLstring = "UPDATE `db`.`usersdata` SET `SH`='" & SH & "' WHERE `PIC` = '" & Session("UserId") & "'"
            Session("SH") = SH
            SQLNonQuery_mysql(SQLstring)
            CLEARALL()
            displaydata()    
    End Sub

我花了几个小时但是我找不到这个的原因,特别是在它工作正常之前。 此代码在更改下拉列表字段时运行。 它也开始发生在其他下拉列表和SQL字符串创建代码中......所以它现在在各个VB位置都失败了(正如我之前所说的那样) 我想知道是否存在一个错误或一些奇怪的原因,为什么这个错误现在出现(而不是之前)以及解决方案是什么。

1 个答案:

答案 0 :(得分:2)

根据错误消息,SH是TextBox或Session("UserId")是TextBox。

由于您已经展示了SH的声明,唯一剩下的嫌疑人是Session("UserId")

您能说明如何设置Session("UserId")值吗?

我最好的猜测是你这样做:

Session("UserId") = TextBox1

你应该把它改成:

Session("UserId") = TextBox1.Text

(将TextBox1替换为TextBox的名称)