标题:求助 delphi7+Access 编程问题
只看楼主
涅人
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-5-7
结帖率:100%
已结贴  问题点数:20 回复次数:2 
求助 delphi7+Access 编程问题
delphi7 +Access编写管理系统  登录时时出现标准表达式数据类型不匹配问题。在有的计算机上可以运行,但在有的计算机上无法运行是怎么回事。
代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
lasttime,aname,apass,sqlstr:string; //定义四个字符串变量 aname和apass分别用来存放用户输入的用户名和密码 ,sqltr用来存放查询语句
begin
inc(logintimes);
if logintimes>maxtimes then //如果登陆次数 logintimes大于允许的最大次数maxtimes时
begin
showmessage('你已经超过充许验证次数!,将退出登录系统!');
application.Terminate; //终止应用程序执行
end
else
begin
if  (length(edit1.Text)>0)  or  (length(edit2.Text)>0) then
begin
aname:=trim(quotedstr(edit1.Text)); //取得用户输入的用户名
apass:=trim(quotedstr(edit2.Text)); //取得用户输入的密码
password:=apass;
sqlstr:='select * from t_user where (username='+aname+') and (userpass='+apass+')';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.open;  //执行SQL语句查询
if ADOQuery1.RecordCount>0 then //如果得到的记录大于0条,说明找到满足条件的记录,说明用户名密码成功
begin  //验证通过后,更新用户的登陆时间和登陆次数
admin:=aname;
form2.statusbar1.panels[1].text:=admin;
lasttime:=DateTimeToSTR(date);
sqlstr:='update t_user set times=times+1,lasttime='+lasttime+' where (username='+aname+')';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.ExecSQL; //执行SQL语句更新
form2.show;
form1.visible:=false;
end
else
begin
showmessage('请确认登录的用户名和密码是否正确!');
edit1.SetFocus; //取得输入焦点
edit1.SelectAll; //选择文本框中的所有内容
end
end
end
end;
搜索更多相关主题的帖子: procedure 管理系统 登录系统 计算机 用户名 
2014-05-07 01:36
asmdaydream
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:中原
等 级:版主
威 望:13
帖 子:257
专家分:840
注 册:2009-5-10
得分:14 
找个不能登陆的机器调试吧

常走夜路不怕黑 长沙PHP高薪招聘群6K+ 95926136
2014-05-07 08:40
dnc23
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2014-8-14
得分:0 
回复 楼主 涅人
sql要加 QuotedStr函數
2014-10-03 17:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-431125-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066000 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved