读书人

请问一个vb6 sql语法错的有关问题

发布时间: 2012-03-25 20:55:17 作者: rapoo

请教一个vb6 sql语法错的问题
Call OpenCNN(Cnn)
Dim temp As String
Dim temp1 As String
temp1 = Text2.Text
temp = Combo1.Text
SQL = "select password from name1 where username ='" & temp & "'"
'上面这一行sql语句运行得很正常
RSt.Open SQL, Cnn, adOpenStatic, adLockOptimistic
er = 1
If Text1.Text = RSt!Password Then
If Text2.Text = Text3.Text Then

RSt.Close
Set RSt = Nothing

SQL = "update name1 set password='" & temp1 & "' where username ='" & temp & "'"

Cnn.Execute SQL '这一行总是报错,说sql语法错误,我中断的时候看 username=李小平 李小平后面总有一个上引号(")不知道怎么回事.就成这个样子 username=李小平""

Else
MsgBox "两次输入的密码不一致~!", 16, "错误"
End If

Else
If er = 3 Then
er = er + 1
MsgBox "修改密码三次错误,强制退出系统~!", 16, "错误"
Else
MsgBox "原密码输入错误", 16, "错误"
End If
End If

RSt.Close
Set RSt = Nothing
Cnn.Close
Set Cnn = Nothing

[解决办法]
SQL = "update name1 set password='" & temp1 & "' where username ='" & trim(temp) & " '"
注意在“‘”前加一空格,试试。

[解决办法]
SQL = "update name1 set password='" & temp1 & "' where username ='" & temp & "'"

Cnn.Execute SQL '这一行总是报错,说sql语法错误,我中断的时候看 username=李小平 李小平后面总有一个上引号(")不知道怎么回事.就成这个样子 username=李小平""


从表达上看,没有错,调式中,sql应该是这样的(sql语句赋值执行后,在调式窗口中 ?sql 进行检查)
update name1 set password='abc' where username ='李小平'

说到 username=李小平"" 不应该出现这种情况,username='李小平""' 倒是有可能,如果是这样,检查Temp的值


读书人网 >VB

热点推荐