好久没有用Delphi了,好多都忘记了,郁闷。帮我看下下面的代码有什么问题啊?

Shawphen2000 2005-01-06 11:51:03
function TDataAccessModule.Login(const userName : String;
const Password : String) : Boolean;
begin
try
with ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('SELECT Password FROM admin WHERE UserID = ' + Quotedstr(userName));
Prepared;
Open;
end;
except
raise Exception.Create('Query Database Error!');
Application.MessageBox('Query Database Error!', 'SIMS', MB_OK + MB_ICONERROR);
Login := False;
Exit;
end;

if (Password = ADOQuery.FieldByName('Password').Value) then
Login := True
else
Login := False;
end;

错误如下:
---------------------------
Debugger Exception Notification
---------------------------
Project SIMS.exe raised exception class EAccessViolation with message 'Access violation at address 0046AFC9 in module 'SIMS.exe'. Read of address 0000005C'.
---------------------------
Break Continue Help
---------------------------
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Blakhawk 2005-01-06
  • 打赏
  • 举报
回复
hehe接分。
syl79 2005-01-06
  • 打赏
  • 举报
回复
^-^
Shawphen2000 2005-01-06
  • 打赏
  • 举报
回复
是的是的,我真白痴了,我把DataModule设置成不是自动创建了。晕死。
Shawphen2000 2005-01-06
  • 打赏
  • 举报
回复
难道是ADOConnectioin和ADOQuery的属性设置有问题?
syl79 2005-01-06
  • 打赏
  • 举报
回复
十有八九是AdoQuery还没有创建呢。
Shawphen2000 2005-01-06
  • 打赏
  • 举报
回复
但是用数据感知组件,它又能Load到数据表中的数据
Shawphen2000 2005-01-06
  • 打赏
  • 举报
回复
在with ADOQuery do的地方就出错了。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧