代碼如下:
String j_user_name,j_user_pass
Long is_num
j_user_name=sle_1.text
j_user_pass=sle_2.text
if j_user_name='' then
MessageBox("提示","用戶名為空,請重新輸入!")
sle_2.SetFocus()
return
end if
SELECT count(*)
INTO :is_num
FROM users
WHERE User_Name= :j_user_name and User_Pass= :j_user_pass using sqlca;
if is_num>0 then
open(w_main)
close(parent)
else
messageBox("口令有誤","請重新輸入!")
end if
問題是,連接資料庫成功,在界面里輸入資料表里的用戶名和密碼時總是“口令有誤”,“請重新輸入”。但是如果用戶名和密碼都為空(不填,直接確定)時卻打開了主視窗,關閉了登錄視窗。。。。為什么啊??? 小弟是新手,望各位指教啊,不勝感激!!!
uj5u.com熱心網友回復:
j_user_name=sle_1.textj_user_pass=sle_2.text
改為
j_user_name=trim(sle_1.text)
j_user_pass=trim(sle_2.text)
代碼規范有問題
if j_user_name='' then
MessageBox("提示","用戶名為空,請重新輸入!")
sle_2.SetFocus()
return
end if
根據你寫的代碼用戶名為空,應該是sle_1.SetFocus()設定用戶名獲得焦點。
具體提示密碼錯誤的原因,除錯一下,查看一下回傳值,再確定那里有問題。
uj5u.com熱心網友回復:
除了檢查j_user_name='‘,還要isNull(j_user_name)uj5u.com熱心網友回復:
檢查User_Name和User_Pass的表結構中的欄位型別,如果是CHAR,可能會帶空格,INTO :is_num
FROM users
WHERE ltrim(rtrim(User_Name))= :j_user_name and ltrim(rtrim(User_Pass))= :j_user_pass using sqlca;
另,不輸入是可以進入就是樓上的說法,沒有檢查NULL的狀態
if isnull(j_user_name) or isnull(j_user_pass) then
messagebox('','請輸入用戶名和密碼')
return
end if
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/62201.html
標籤:腳本語言
上一篇:PB CRC16
