hur.cn - 华软网

 热门搜索

在编写登陆窗口时遇到的中英文问题

  作者:未知    来源:网络    更新时间:2019/6/11
// Profile ronny
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=ronny;UID=dba;PWD=sql'"
//连接数据库
connect;
//定义两个变量
string id, password
//检索用户名和密码记录
SELECT    "学生表"."用户名",   
          "学生表"."密码"  
INTO     :id,
         :password
FROM "学生表" 
WHERE 学生表.用户名 = :sle_1.text ;
if  sle_1.text="" or sle_2.text=""  then
messagebox("毛病!","用户名或密码不能为空!",exclamation!,ok!,2)
else
if id=sle_1.text  and password=sle_2.text then
open(w_main)
close(w_login)
else
messagebox("毛病!","用户名或密码毛病,请重新输入!",exclamation!,ok!,2)
end if
end if
-----------------------
// Profile ronny
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=ronny;UID=dba;PWD=sql'"
//连接数据库
connect;
//定义两个变量
string id, password
//检索用户名和密码记录
SELECT  user.id,
        user.password
INTO     :id,
          :password
FROM user 
WHERE user.id = :sle_1.text ;
if  sle_1.text="" or sle_2.text=""  then
messagebox("毛病!","用户名或密码不能为空!",exclamation!,ok!,2)
else
if id=sle_1.text  and password=sle_2.text then
open(w_main)
close(w_login)
else
messagebox("毛病!","用户名或密码毛病,请重新输入!",exclamation!,ok!,2)
end if
end if
----------------------------
第一个是完全正确的,第二个是将第一个的中文部份改成英文,然则就出了问题。(警告提醒问题出在where那里)
由于老师要求咱们尽量用英文,所以想知道究竞英文那个出了什么问题。
ps;一个表叫学生表,包括用户名和密码,另一个表叫user,包括id和password.
------华软网友回答------
1:强制只可输入英文和数字
2:打补钉
------华软网友回复------
在sle_1.text 前面不要冒号试一下啊
那个不是变量,你试一下啊
------华软网友回复------
再给你个建议就是不要把连接数据库在操作加在登录窗口,最好放在应用对象中。
------华软网友回复------
我在学校时也学了PB也忘记的差不多了,不是太确定了,你试一下吧
------华软网友回复------
先把sle_1.text 赋值给变量
WHERE 中用变量
------华软网友回复------
解决措施供楼主参照:
1、把sle_1.text的内容存到变量中;然后在sql语句中运用该变量;
2、“//定义两个变量
      string id, password”
最好改成其余名字如:string ls_id,ld_password
要养成良好的命名习气,由于变量id和password和表的字段重名造成代码可读性差!
------华软网友回复------
恩,楼上的方法值得一试!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。