0

我有一个用于进入我的应用程序的登录窗口,在这里我插入了一个名为 login1 的表,并有两列作为"username""password"。我在两种情况下包括了“登录”的事件 1)命令按钮 2)输入键。所以我曾经在按钮单击事件和触发“Enter!”的keydown的用户事件中编写以下代码 钥匙。

if KeyDown(KeyEnter!) THEN   //In User Event case only
string ls_unm;
string ls_pass,ls_field;
ls_unm=dw_log.GetItemString(1,"user_name1");
ls_pass=dw_log.GetItemString(1,"password1");
select password1 into :ls_field  from login1 where login1.user_name1=:ls_unm;
if(ls_field=ls_pass) then  
commit; 
close (w_login);
open(w_main);
else
 rollback;
 messagebox( "","login faild");
 dw_log.Reset();
 dw_log.InsertRow(0);
 end if
    END if

但是我总是得到“登录失败”的响应,即使我通过调试模式检查了它是如何正确登录的

4

2 回答 2

1

您可能缺少“AcceptText”行?

if KeyDown(KeyEnter!) THEN   //In User Event case only
    string ls_unm;
    string ls_pass,ls_field;
    dw_log.AcceptText()
    ls_unm=dw_log.GetItemString(1,"user_name1");
    ls_pass=dw_log.GetItemString(1,"password1");
于 2016-11-07T08:57:36.960 回答
1

关于AcceptText().

使用if dw_log.accepttext() <> 1 then return, 处理任何数据验证失败。

其次,命令按钮有一个Default属性,当用户enter按键时会触发点击事件。您不需要为两者使用单独的事件。只是一个拙见。

于 2016-11-07T09:13:09.683 回答