用delphi設計軟體使用者登陸驗證網路SQL資料庫驗

時間 2021-08-30 11:03:57

1樓:

1、建立管理員表

create table  ad

(密碼 char(8) primary key,

姓名 varchar(20)

2.管理員表初始化

insert into ad (密碼,姓名)

values('admin', 'admin');

3.建立學生表

create table student

(學生學號 char (10) primary key,

學生姓名 varchar (20) unique,

學生性別 char (2),

學生年齡 smallint,

班級號 char (4),

foreign key (班級號) references class(班級號)

4. 建立教師表

create table teacher

(教工號 char (8) primary key,

教師姓名 varchar (20) unique,

教師性別 char (2),

職稱 varchar (10),

登陸原始碼:

if radiobutton1.checked then

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('select * from student');

adoquery1.sql.add('where 學生學號='''+edit2.text+''' and 學生姓名='''+edit1.text+'''');

adoquery1.open;

if adoquery1.recordcount>0 then

begin

form1.hide;

form2.show;

endelse

showmessage('使用者名稱不存在或者許可權錯誤,請查證後輸入');

edit2.clear

endelse if radiobutton2.checked then

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('select * from teacher');

adoquery1.sql.add('where 教工號='''+edit2.text+''' and 教師姓名='''+edit1.text+'''');

adoquery1.open;

if adoquery1.recordcount>0 then

begin

form1.hide;

form3.show;

endelse

showmessage('使用者名稱不存在或者許可權錯誤,請查證後輸入');

edit2.clear;

endelse if radiobutton3.checked then

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('select * from ad');

adoquery1.sql.add('where 密碼='''+edit2.text+''' and 姓名='''+edit1.text+'''');

adoquery1.open;

if adoquery1.recordcount>0 then

begin

form1.hide;

form4.show;

endelse

showmessage('使用者名稱不存在或者許可權錯誤,請查證後輸入');

edit2.clear;end

2樓:匿名使用者

剛剛第乙個人回答的貌似是客戶端直接連線到資料庫,然後查詢表裡的使用者名稱和密碼,那就有問題了:

1、本地必須儲存sql使用者名稱和密碼,既然知道使用者名稱密碼就沒必要再多此一舉去驗證表裡的使用者名稱和密碼了;

2、本地加密資料庫密碼,這也是不安全的,即使用加密,你也需要用到解密後才能去連線資料庫吧,記憶體裡一查明文就出來了。

這種方法在asp/php中還是有用的,本地就不要用這種方法了。

安全的做法是:

1、客戶端通過tcp傳送使用者名稱和密碼發給服務端;

2、服務端接收到資料後連線資料庫驗證,驗證通過後返回客戶端結果

3樓:匿名使用者

登入按鈕中

宣告變數

varvpassword :string;

按鈕中**

with vquery do

begin

databasename := '你的資料庫名';

close;

sql.text := ' select * from operator where id='''+edit1.text+'''';

open;

if eof then //如果使用者名稱錯誤begin

showmessage('非法使用者');

edit1.setfocus;

exit;

end;//end if

vpassword := fieldbyname('password').asstring;

if trim(vpassword) <> trim(edit2.text) then //如果使用者口令錯誤

begin

showmessage('使用者口令錯誤!');

free;

edit2.selectall;

edit2.setfocus;

exit;

end; //end if

end;

我用delphi設計資料庫軟體,輸入帳號密碼登入後,每次返回主頁面時都會彈出登入介面,這是為何

delphi中實現使用者名稱和密碼登入介面,需要和sql資料庫中的使用者名稱和密碼匹配才能登入

4樓:匿名使用者

adoquery1.sql:=

'select * from user where username=''使用者名稱'' and password=''password'''

adoquery1.execute;

if adoquery.recordcount>0 then允許登陸

5樓:

procedure tform1.btnloginclick(sender: tobject);

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('select * from user where username=:username and password=:password');

adoquery1.parameters.parambyname('username').value := edtusername.text;

adoquery1.parameters.parambyname('password').value := edtpassword.text;

tryadoquery1.open;

if adoquery1.recordcount > 0 then

begin

showmessage('登入成功!');

close;//關閉登入窗體

endelse

showmessage('使用者名稱或密碼錯誤!');

except

showmessage('資料連線失敗!');

end;

end;

如果你要詳細提示錯誤則用下邊的

procedure tform1.btnloginclick(sender: tobject);

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('select * from user where username=:username');

adoquery1.parameters.parambyname('username').value := edtusername.text;

tryadoquery1.open;

if adoquery1.recordcount > 0 then

begin

adoquery1.first;

if adoquery1.fieldbyname('username').asstring = edtpassword.text then

begin

showmessage('登入成功!');

close;//關閉登入窗體

endelse

showmessage('密碼錯誤');

endelse

showmessage('使用者名稱錯誤!');

except

showmessage('資料連線失敗!');

end;

end;

如何用delphi做登陸介面 使用者名稱和口令要鏈結到資料庫的那種?

6樓:真靈級存在

procedure tlogin.button1click(sender: tobject);

varnum,user,pass,temp:string;

begin

//------------------根據使用者輸入的密碼和帳號進行查詢----------

//儲存使用者輸入的帳號和密碼

user:=edit1.text;

pass:=edit2.text;

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.text:='select 使用者編號 from 使用者清單 where 姓名='''+user+'''and 密碼='''+pass+'''';

adoquery1.open;

temp:=adoquery1.fieldbyname('使用者編號').asstring;

if temp<>'' then

//如果輸入了正確的使用者名稱和密碼,那麼必然能查到使用者編號,否則結果為空

begin

manage.visible:=true;

manage.statusbar1.panels[0].text:=user;

login.hide;

end//---------登入失敗,提示使用者重新輸入----------------------------------

else

begin

showmessage('使用者名稱或密碼錯誤,請檢查後重新登入');

endend;

//----------登入視窗再次顯示時,清空原來輸入的使用者名稱和密碼--------------

procedure tlogin.formshow(sender: tobject);

begin

edit1.clear;

edit2.clear;

end;

請問 用java程式設計怎麼實現登陸的使用者名稱和密碼正確呢而且資料庫裡面有多個使用者名稱和密碼

select count from user where username us.getusername and password us.getpassword 這是查詢語句,返回值可以轉換成int型別,如果返回值大於0則登入成功 如果你計畫所有 都寫頁面的話 寫個資料庫查詢就行了 class.fo...

windowsXP使用者登陸名和密碼忘記了怎麼辦

朋友,我教你乙個方法 1 進入dos工具箱。2 按鍵盤 1 3 選擇 3 重設windows開機密碼4 按鍵盤 enter 5 選擇 2 6 選擇winxp 那個sam檔案。7 選擇administrator使用者名稱前面的序號8 按鍵盤 y 9 按 ctrl alt del 我只知道重灌系統了。你...

用php寫網頁前端登陸驗證將登入使用者名稱存入

寫入的時候要開啟session start 讀取的時候也要開啟session start 示例如下 write.php session start 登陸成功,寫入登入資訊 session name chinawinxp session id 2017 read.php session start 讀...