vb怎么取出select语句查询的记录值赋给一个字符串变量
MDIForm1.Label3.Caption显示的是当前登陆账户,这一部分要做到的是更改当前用户的密码,怎么把sql="selectPwdfrom用户whereAcco...
MDIForm1.Label3.Caption显示的是当前登陆账户,这一部分要做到的是更改当前用户的密码,
怎么把 sql = "select Pwd from 用户 where Account = MDIForm1.Label3.Caption " 的记录值赋给txtSQL变量呢?
没有更多的分了,诸位莫怪
部分代码如下:
Private Sub Ensure_Click()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False"
con.CursorLocation = adUseClient
con.Open
Dim txtSQL As String
sql = "select Pwd from 用户 where Account = MDIForm1.Label3.Caption "
rs.Open sql, con, -1
txtSQL = rs(0).Value
If Text1.Text <> txtSQL Then
MsgBox "原密码不正确,请重新输入!", vbOKOnly + vbExclamation, "错误" '
con.Close
Text1.SetFocus
Else
If "& Text2.Text &" = "" Then
MsgBox "密码不能设置为空!!", vbOKOnly + vbInformation, "警告"
con.Close
Else
If "& Text2.Text &" <> "& Text2.Text &" Then
MsgBox "两次密码输入不一致,请重新输入!", vbOKOnly + vbExclamation, "错误"
con.Close
Text2.SetFocus
Else
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "提示"
con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account='" & Form1.Text1.Text & "' "
Form6.Hide
con.Close
End If
End If
End If
End Sub
前面经过一些细节修改已经可以正常弹窗了。
问题又来了,虽然弹出“密码修改成功”,但实际上数据库却没改……
Else
con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account = '" & Form1.Text1.Text & "' " '执行更改操作
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "提示"
' Form6.Hide
con.Close 展开
怎么把 sql = "select Pwd from 用户 where Account = MDIForm1.Label3.Caption " 的记录值赋给txtSQL变量呢?
没有更多的分了,诸位莫怪
部分代码如下:
Private Sub Ensure_Click()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False"
con.CursorLocation = adUseClient
con.Open
Dim txtSQL As String
sql = "select Pwd from 用户 where Account = MDIForm1.Label3.Caption "
rs.Open sql, con, -1
txtSQL = rs(0).Value
If Text1.Text <> txtSQL Then
MsgBox "原密码不正确,请重新输入!", vbOKOnly + vbExclamation, "错误" '
con.Close
Text1.SetFocus
Else
If "& Text2.Text &" = "" Then
MsgBox "密码不能设置为空!!", vbOKOnly + vbInformation, "警告"
con.Close
Else
If "& Text2.Text &" <> "& Text2.Text &" Then
MsgBox "两次密码输入不一致,请重新输入!", vbOKOnly + vbExclamation, "错误"
con.Close
Text2.SetFocus
Else
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "提示"
con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account='" & Form1.Text1.Text & "' "
Form6.Hide
con.Close
End If
End If
End If
End Sub
前面经过一些细节修改已经可以正常弹窗了。
问题又来了,虽然弹出“密码修改成功”,但实际上数据库却没改……
Else
con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account = '" & Form1.Text1.Text & "' " '执行更改操作
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "提示"
' Form6.Hide
con.Close 展开
1个回答
展开全部
sql = "select Pwd from 用户 where Account = MDIForm1.Label3.Caption "
改为
sql = "select Pwd from 用户 where Account = '" & MDIForm1.Label3.Caption & "'"
补充:con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account='" & Form1.Text1.Text & "' " 我很奇怪这里你会这样使用,为什么上面你又不会用了呢?
改为
sql = "select Pwd from 用户 where Account = '" & MDIForm1.Label3.Caption & "'"
补充:con.Execute "update 用户 set Pwd='" & Text2.Text & "' where Account='" & Form1.Text1.Text & "' " 我很奇怪这里你会这样使用,为什么上面你又不会用了呢?
追问
……你是对的,我以为label的caption可以直接引用
又有新的问题了,后面的判断语句是哪里也有错啊,当我输入两个不同的新密码时是他居然也提示“密码修改成功”……帮忙看看呗,先谢过
追答
If "& Text2.Text &" = "" Then
要改为
If Text2.Text = "" Then
If "& Text2.Text &" "& Text2.Text &" Then
要改为
If Text2.Text Text3.Text Then
注:两次输入的新密码应该是在不同的文本框里的吧?我上面改为Text3了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询