关于登陆认证问题!

dqkeke 2003-10-15 02:44:02
为什么过滤不出来,走到第一句就有错误
procedure TfrmLogin.BtnLogClick(Sender: TObject);
begin

datamodule1.CDSBaseUser.Filter:='NAME='''+edit1.Text+''''; //根据输入的用户名设置过滤器
datamodule1.CDSBaseUser.Filtered:=true; //激活过滤器
datamodule1.CDSBaseUser.Open; //获取用户信息

if datamodule1.CDSBaseUser.recordcount=1 then //判断用户名是否存在
begin
if datamodule1.CDSBaseUser['PASSWORD']=edit2.text then
begin
if datamodule1.CDSBaseUser['LIMIT']='¹管理员' then
begin
frmlogin.hide;
frmmain.Show;
end
else
MessageDlg(‘用户权限错误¡',mtconfirmation, [mbOK], 0);
Abort;
end
else
MessageDlg(’密码不匹配¡',mtconfirmation, [mbOK], 0);
Abort;
end
else
MessageDlg(‘检查用户名是否存在¡',mtconfirmation, [mbOK], 0);
Abort;


end;
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiflower 2003-10-15
  • 打赏
  • 举报
回复
DataModule1 的实例有没有创建?
如果已经创建,则这样改一下试试:
datamodule1.CDSBaseUser.Filter:='NAME = '''+edit1.Text+''''; //在 = 前后加个空格
dickeybird888 2003-10-15
  • 打赏
  • 举报
回复
//加入:datamodule1.CDSBaseUser.Close;
//加入:datamodule1.CDSBaseUser.Filtered:=false;
datamodule1.CDSBaseUser.Filter:='NAME='''+edit1.Text+''''; //根据输入的用户名设置过滤器
datamodule1.CDSBaseUser.Filtered:=true; //激活过滤器
datamodule1.CDSBaseUser.Open;


//你实验一下吧 1
飛無痕 2003-10-15
  • 打赏
  • 举报
回复
哇,要在Filter之前Open;
改成:

datamodule1.CDSBaseUser.Open; //获取用户信息
datamodule1.CDSBaseUser.Filter:='NAME='''+edit1.Text+''''; //根据输入的用户名设置过滤器
datamodule1.CDSBaseUser.Filtered:=true; //激活过滤器

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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