我在Asp.net网页上有一个SQL字符串,后面有vb代码。
以前工作正常,但由于未知原因,我现在开始收到以下错误:
错误:Sys.WebForms.PageRequestManagerServerErrorException:Operator'&'未定义字符串" UPDATE db
。usersdata
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位置都失败了(正如我之前所说的那样) 我想知道是否存在一个错误或一些奇怪的原因,为什么这个错误现在出现(而不是之前)以及解决方案是什么。
答案 0 :(得分:2)
根据错误消息,SH
是TextBox或Session("UserId")
是TextBox。
由于您已经展示了SH
的声明,唯一剩下的嫌疑人是Session("UserId")
。
您能说明如何设置Session("UserId")
值吗?
我最好的猜测是你这样做:
Session("UserId") = TextBox1
你应该把它改成:
Session("UserId") = TextBox1.Text
(将TextBox1
替换为TextBox的名称)