为什么过滤不出来,走到第一句就有错误
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;
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;
解决方案 »
- 一条sql语句在delphi中输出的结果出现错误
- 我最近写了一套基于UDP协议的几个类,用于代替自带的scktsrvr,实现三层结构的应用!
- ASTA 连接oracl
- stringlist相关的,请大侠出招
- 如何实现数据库对word、 excel文件的存取?
- dephi7中的打印控件怎么不见了???
- 代码问题,高手请进
- 小弟刚从VB转到DELPHI,请大家介绍一个DELPHI编程的好站点
- 怎样才能将程序从内存中清空!
- 紧急:请问在三层中对BLOB字段的处理?
- 有關 dcu 文件載入的問題 高分回報!
- 利用acitvex form开发的ocx控件能否有传出参数?如何写传出参数?在页面上又如何调用呢?请高手赐教啊!!!
改成: datamodule1.CDSBaseUser.Open; //获取用户信息
datamodule1.CDSBaseUser.Filter:='NAME='''+edit1.Text+''''; //根据输入的用户名设置过滤器
datamodule1.CDSBaseUser.Filtered:=true; //激活过滤器
//加入:datamodule1.CDSBaseUser.Filtered:=false;
datamodule1.CDSBaseUser.Filter:='NAME='''+edit1.Text+''''; //根据输入的用户名设置过滤器
datamodule1.CDSBaseUser.Filtered:=true; //激活过滤器
datamodule1.CDSBaseUser.Open;
//你实验一下吧 1
如果已经创建,则这样改一下试试:
datamodule1.CDSBaseUser.Filter:='NAME = '''+edit1.Text+''''; //在 = 前后加个空格