各位大虾,我刚刚接触Delphi想制作一个登录的窗口,思想是这样的.
我在当前文件夹里建立一个Access数据库,里面有个login数据表,存放了用户登录的帐号和密码.
我的代码如下
procedure TForm1.BtnAdmOkClick(Sender: TObject);
var Id,Key,AdminId,AdmKey:string;
i:integer;
begin
Id:=trim(EdtAdmId.Text);
Key:=trim(EdtAdmKey.Text);
with login.login.AdOQuery1 do
begin
close;
login.ADOquery1.SQL.Clear;
login.ADOquery1.SQL.Add('select * from login where AdmId='''+Id+' and AdmKey='''+Key+'''');
Open;
i:=recordcount;
end;
if i>0 then
Close;
else
begin
showmessage ('错误的用户名或密码,您无法使用本系统!');
application.Terminate ;
end;end;end.
其中 login.login.AdOQuery1 do这句自己不懂是看了人家的,因为我的数据库名字为login,数据表名也是login,希望各位大虾指点,另外怎样加密数据表里面密码,让别人看起来是乱码?谢谢各位`!先谢了`!
我在当前文件夹里建立一个Access数据库,里面有个login数据表,存放了用户登录的帐号和密码.
我的代码如下
procedure TForm1.BtnAdmOkClick(Sender: TObject);
var Id,Key,AdminId,AdmKey:string;
i:integer;
begin
Id:=trim(EdtAdmId.Text);
Key:=trim(EdtAdmKey.Text);
with login.login.AdOQuery1 do
begin
close;
login.ADOquery1.SQL.Clear;
login.ADOquery1.SQL.Add('select * from login where AdmId='''+Id+' and AdmKey='''+Key+'''');
Open;
i:=recordcount;
end;
if i>0 then
Close;
else
begin
showmessage ('错误的用户名或密码,您无法使用本系统!');
application.Terminate ;
end;end;end.
其中 login.login.AdOQuery1 do这句自己不懂是看了人家的,因为我的数据库名字为login,数据表名也是login,希望各位大虾指点,另外怎样加密数据表里面密码,让别人看起来是乱码?谢谢各位`!先谢了`!
解决方案 »
- delphi2007:一个程序如何控制两个摄像头
- dbgriden在哪里下载?
- 有一问题,百思不得其解
- 请问如何在一个mdi窗体中通过按钮将另外一个mdi窗体做到bringtofront的效果?
- 如何修改数据表中某一行某一列的值啊(datasource1+query1)?马上给分
- Ehlib能否自动排序?单元格内可否有下拉的列表?
- 高分奖励,答对有分!!!!
- cszhz(丑小鸭)请进
- 如何获取系统时间?
- 取字符串长度的函数是什么,我忘了。
- 请问Delphi7如何转换中文成URL字符(不是用HTTPencode()函数实现) - 50分
- 请问Delphi7如何转换中文成URL字符(不是用HTTPencode()函数实现) -100分
你是真敢贴,还是好好看看书吧,
有些事情能老是靠别人,尤其是一些简单的东西,
老是靠别人是不行的!!!
procedure TForm1.BtnAdmOkClick(Sender: TObject);
var
Id,Key,AdminId,AdmKey:string;
i:integer;
begin
Id:=trim(EdtAdmId.Text);
Key:=trim(EdtAdmKey.Text);
with AdOQuery1 do //修改这里
begin
close;
login.ADOquery1.SQL.Clear;
////下边这句也有改动,请参考你原来的代码
login.ADOquery1.SQL.Add('select * from login where AdmId='''+Id
+''' and AdmKey='''+Key+'''');
Open;
i:=recordcount;
end;
if i>0 then
Close;
else begin
showmessage ('错误的用户名或密码,您无法使用本系统!');
application.Terminate ;
end;
end;
没有必要 login.login.adoquery
我估计是书上面多印了一个吧。在当前form里放一个adoquery就可以了
with adoquery1 do
...
end;加密密码建议要用md5加密函数加密后再存入数据库,自己找个例子改编为delphi不就可以了么.
AdOQuery1的属性中有database属性;数据表属性你直接在SQL语句中操作即可。
Provider=MSDASQL.1;Persist Security Info=False;Data Source=MS Access Database;Mode=Read;Initial Catalog=e:\delphi\login.mdb代码我也修改了一下系统显示login未定义,不知道是何原因,请指教`!
login.ADOquery1.SQL.Clear;
////下边这句也有改动,请参考你原来的代码
login.ADOquery1.SQL.Add('select * from login where AdmId='''+Id
+''' and AdmKey='''+Key+'''');改为:
SQL.Clear;
////下边这句也有改动,请参考你原来的代码
SQL.Add('select * from login where AdmId='''+Id
+''' and AdmKey='''+Key+'''');即可 ^-^