ls_logid = trim(sle_login_id.text)
ls_log_passwd = Trim(sle_login_password.text)
select user_id,
user_name
into :ls_userid,
:ls_username
from user_item
where login_name = :ls_logid and psw = :ls_log_passwd;
if sqlca.sqlcode = 0 then
open(w_main)
close(parent)
SetPointer(Arrow!)
return
求大虾给逐句解释一下上面代码~初学者,谢谢啦
------解决方案--------------------
- C/C++ code
//取得用户输入的登录IDls_logid = trim(sle_login_id.text)//取得用户输入的登录密码ls_log_passwd = Trim(sle_login_password.text)//到用户表user_item中判断用户名为ls_logid,密码为ls_log_passwd的数据是否存在,//存在则取该登录ID对应的用户ID和用户名select user_id,user_nameinto :ls_userid, :ls_usernamefrom user_itemwhere login_name = :ls_logid and psw = :ls_log_passwd;if sqlca.sqlcode = 0 then //如果上述动态SQL语句执行成功 //这边应该加上用户名不为空的判断 if ls_userid = '' then messagebox('提示', '登录ID不存在,或者密码输入有误!') //焦点定位到sle_login_id上,方便用户重新输入 sle_login_id.setfocus() return end if //当用户存在时,则打开主界面 open(w_main) //关闭当前登录界面 close(parent) //将鼠标指针恢复为箭头 SetPointer(Arrow!) //返回(因为已经调用了close(parent),所以必须返回,否则代码会接着往下执行,导致pb报错) returnelse //如果上述动态SQL语句执行失败 messagebox('数据查询失败', '无法获取用户信息!') returnend if