初学PB,做了个登陆界面,但没有成功,还有些问题需要大家帮忙解决,先谢谢。
dingd 2002-09-21 10:38:15 我用PB自带的数据库Adaptive Server Anywhere 7建立了个Password.db的数据库,想学习一下,怎么
做个用户登陆界面。
在这个数据库中建了一张Password的表,里面有两个项,name 和 password
并且输入了一些数据。
然后建立好了ODBC连接,
并在PB8中建立好了所有内容,
password.pbw password.pbl password的应用 一个w_logon的窗口,设计好了界面。
其中:
姓名 对应 sle_name的对象名,密码 对应 sle_password的对象名 都是单行编辑框
下面还有两个按钮, 确认(cb_enter) 和退出(cb_exit)
password应用程序的代码:
//连接数据库
sqlca.DBMS = ProfileString("pb.ini","Database","DBMS","")
sqlca.dbParm = ProfileString("pb.ini","Database","DBParm","")
//打开窗口
open(w_logon)
w_logon的代码
//通过SQLCA全局变量传送数据库表中的数据
connect using SQLCA;
这后面还要写些什么吗??
确认按钮的代码
//定义两个字符串变量
String vPw,vName,vPw_temp,vName_temp,temp
if IsNull(sle_name.text) or len(trim(sle_name.text))=0 then
MessageBox("提示","请输入!",stopSign!)
sle_name.SetFocus()
end if
vPw_temp = trim(sle_password.text)
vName_temp = trim(sle_name.text)
select "Password"."Name","Password"."Password" INTO :vName, :vPw
from "password"
where "Password"."Name"=:vName_temp;
if vPw_temp = vPw and vName_temp = vName then
MessageBox("提示","完全正确!")
else
MessageBox("警告!","口令错误!重新输入!",stopSign!)
sle_name.SetFocus()
end if
上面我的代码还有很多问题,我发现我好像并没有 vName 和 vPw 并没有从数据库中取出来,不知道这是为什么????
还有一个问题:就是,像这样的判断,我看过好像还有一种方法:
最后是用下面的代码判断输入正确与否的,可是他前面的部分是什么????
if SQLCA.sqlcode = 100 then
MessageBox("提示","完全正确!")
end if
if SQLCA.sqlcode =-1 then
MessageBox("警告!","口令错误!重新输入!",stopSign!)
sle_name.SetFocus()
end if
或者还有其他什么代码判断也可以做所要的功能??谁能帮帮忙,谢谢。