各位大虾,我刚刚接触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,希望各位大虾指点,另外怎样加密数据表里面密码,让别人看起来是乱码?谢谢各位`!先谢了`!
解决方案 »
- 多线程中循环速度的问题?
- BOM分解问题----高手給看一看,急死人了
- 为什么我用Insert语句插入一条重复的记录,不出异常啊?
- 自己写IMAGE类
- 关于ADOTable的真正删除问题
- 关于 TstringGrid 问题??!!
- 怎样把sql2000的数据库备份到客户机上
- 我已经在TWebBrowser的PopupMenu里加入了我自己的PopupMenu事件,当然里面什么也没写,但是点击鼠标右键还是有快捷菜单出来为什么啊?
- diamond控件?
- 如何连接远程数据库(ADO)
- 请问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+'''');即可 ^-^