小弟刚开始学PB,现在正在做一个设备管理系统。用户登录界面就是做不好请各位高手帮帮忙。
我这个系统有一个数据库其中有一个表USE是用来放用户名和密码的。二个按钮(ok,cancl)二个静态文本(用户名,密码)
这是我的OK按钮代码
string name1,pass1
if sle_1.text<>"" and sle_2.text<>"" then
select 密码 into :pass1 from use where 用户名=:sle_1.text;
If SQLCA.SQLCode = 100 Then
MessageBox("注意","无此用户!",Exclamation!)
sle_1.Text = ""
sle_2.Text = ""
sle_1.SetFocus()
Return
else
if pass1=sle_2.text then
open(电脑实验室)
close(parent)
else
messagebox("错误","错误:用户名或密码错误!")
sle_1.text=""
sle_2.text=""
setfocus(sle_1)
return
end if
end if
else
MessageBox("提示","请输入完整信息!",Exclamation!)
sle_1.Text = ""
sle_2.Text = ""
sle_1.SetFocus()
Return
end if
现在不管输什么都不能进系统,请大家帮忙看看怎么做。
QQ:419613023
------解决方案--------------------
If SQLCA.SQLCode = 100 Then
改成
If SQLCA.SQLnrows = 1 Then
------解决方案--------------------
一步一步调试看看
------解决方案--------------------
integer li_cnt=0
select count(*) into :li_cnt from use where 用户名=:sle_1.text and 密码=:sle_2.text;
if sqlca.sqlcode=-1 or li_cnt=0 then
//提示无此用户
return
else
//打开程序主窗口
end if
------解决方案--------------------
sle_1.text 不能写在sql语句中,pb不能识别
应给写成
string name1,pass1
if sle_1.text <> "" and sle_2.text <> "" then
name1 = sle_1.text
select 密码 into :pass1 from use where 用户名=:name1;
If SQLCA.SQLCode = 100 Then
MessageBox( "注意 ", "无此用户! ",Exclamation!)
sle_1.Text = ""
sle_2.Text = ""
sle_1.SetFocus()
Return
else
if pass1=sle_2.text then
open(电脑实验室)
close(parent)
else
messagebox( "错误 ", "错误:用户名或密码错误! ")
sle_1.text= ""
sle_2.text= " "
setfocus(sle_1)
return
end if
end if
else
MessageBox( "提示 ", "请输入完整信息! ",Exclamation!)
sle_1.Text = ""
sle_2.Text = ""
sle_1.SetFocus()
Return
end if