当前位置: 代码迷 >> PB >> PB怎样做用户登录界面解决方案
  详细解决方案

PB怎样做用户登录界面解决方案

热度:102   发布时间:2016-04-29 08:56:22.0
PB怎样做用户登录界面
小弟刚开始学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 
  相关解决方案