0

アプリケーションにログインするためのログインウィンドウがあります。ここにlogin1という名前のテーブルが挿入され、"username""password"という2つのカラムがあります。私は2つの場合1)コマンドボタン2)Enterキーを "ログイン"を作るためのイベントを含めた。だから私は、ボタンをクリックしたイベントと "Enter!"のkeydownを引き起こすユーザーイベントにこれらのコードを書いた。キー。パワービルダーのログインウィンドウに使用されるイベント10.0

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 

が、私はいつも「ログインfaild」レスポンスを得ても私はあなたが「にAcceptText」行を欠落している可能性があり、この

答えて

1

と適切なログインを作る方法をデバッグモード でそれを確認しましたか?

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"); 
1

約2番目のエドゥラド約AcceptText()です。

if dw_log.accepttext() <> 1 then returnを使用して、データ検証の失敗を処理します。

第2に、コマンドボタンにDefaultというプロパティがあり、ユーザーがenterキーを押したときにクリックされたイベントが発生します。両方のイベントを別々に使用する必要はありません。謙虚な意見。

+0

しかし、save、Delete、Retrieveのようなコマンドボタンの数を使用するときは、Enterキーが押されたときに実行されます。私はそのようなものを保存するなどのファイナライズ操作のために押されたイベントを割り当てなければならないと思う。 –

+0

私はあなたの要求を誤解したと思う。ログインウィンドウに関する質問はありませんでしたか?さて、なぜそこに保存/削除/検索機能のボタンを使用するのですか?私を教えてください。 – Arfath

関連する問題