DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: eyang11
今日帖子: 21
在线用户: 8
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
女 lyclyc37 (啊猫) ★☆☆☆☆ -
普通会员
2004/5/7 15:32:29
标题:
用户登录窗口的问题 浏览:1114
加入我的收藏
楼主: procedure Tcheckuser.FormActivate(Sender: TObject);
begin

  adotable1.Open;
  combobox1.Items.Clear;
  while not adotable1.Eof  do
  begin
      adotable1.first;
      combobox1.Items.Add(adotable1.fieldbyname('用户名').AsString);
      adotable1.Next;
  end;
  adotable1.close;


end;

procedure Tcheckuser.Edit2Exit(Sender: TObject);
var
  adoquery1:tadoquery;
  dodataset1:tadodataset;
begin

   adodataset1:=tadodataset.create(self);
   adodataset1.Connection :=adoconnection1;
   adodataset1.Close;
   adodataset1.CommandType :=cmdtext;
   adodataset1.CommandText:='select 密码 from check1 where 用户名:=combobox1';
   adodataset1.parameters.clear;
   adodataset1.parameters.addparameter;
   adodataset1.parameters[0].name:='密码';
   adodataset1.parameters[0].datatype:=ftstring;
   adodataset1.parameters[0].direction:=pdinput;
   adodataset1.parameters[0].value:=edit2.text;
   adodataset1.active:=true;
   if adodataset1.recordset.recordcount=0 then
   begin
     messagedlg('请输入正确的密码',mterror,[mbok],0);
     exit;
   end;

    if adoquery1.fieldbyname('用户名').asinteger=0 then
   begin
       with main.Formt do
      //超级用户拥有全部权限
      main.Formt.n21.enabled:=true;
      main.Formt.n1.enabled:=true;
      main.Formt.n4.enabled:=true;
      main.Formt.n8.enabled:=true;
      main.Formt.n12.enabled:=true;
      main.Formt.n17.enabled:=true;
   end;
   if adoquery1.fieldbyname('用户名').asinteger=1  then
   begin
      with main.Formt do
    //操作员用户拥有除"权限设置"外的全部权限
     main.Formt.n23.enabled:=false;
     main.Formt.n1.enabled:=true;
     main.Formt.n4.enabled:=true;
     main.Formt.n8.enabled:=true;
     main.Formt.n12.enabled:=true;
     main.Formt.n17.enabled:=true;
   end;
   if adoquery1.fieldbyname('用户名').asinteger=2 then
   begin
//普通读者拥有查询的权利
      with main.Formt do
     main.Formt.n23.enabled:=false;
     main.Formt.n5.enabled:=false;
     main.Formt.n9.enabled:=false;
     main.Formt.n19.enabled:=false;
     main.Formt.n20.enabled:=false;
   end;
end.
//这是我的主界面
procedure Tformt.FormActivate(Sender: TObject);
begin
   checkuser.ShowModal;//启动用户检测模块
end;
上面的代码请大家帮我看看是哪里的问题。谢谢








----------------------------------------------
-
作者:
男 zywhao (雪落无声) ★☆☆☆☆ -
普通会员
2004/5/8 15:26:09
1楼: 伤心
为什么没有一个高手给他指出错误,我也想要这个代码!!!!
----------------------------------------------
啦啦
作者:
男 yong (yong) ★☆☆☆☆ -
普通会员
2004/5/8 16:56:54
2楼: 什么问题,你说清楚点?
----------------------------------------------
-
作者:
女 lyclyc37 (啊猫) ★☆☆☆☆ -
普通会员
2004/5/9 8:18:50
3楼: 我重新改了一下
----------------------------------------------
-
作者:
女 lyclyc37 (啊猫) ★☆☆☆☆ -
普通会员
2004/5/9 8:21:15
4楼: procedure Tcheckuser.FormActivate(Sender: TObject);
begin

  adotable1.Open;
  combobox1.Items.Clear;
  adotable1.first;
  while not adotable1.Eof  do
  begin

      combobox1.Items.Add(adotable1.fieldbyname('用户名').AsString);
      adotable1.Next;
  end;
  adotable1.close;


end;

procedure Tcheckuser.BitBtn1Click(Sender: TObject);
begin

   adoquery1.close;
   adoquery1.sql.clear;
   adoquery1.sql.text:='select * from check1 where 用户名='''+combobox1.text+''' And 密码='''+password.Text+'''';
   adoquery1.Open ;
   if adoquery1.RecordCount=0 then
   begin
   messagedlg('请输入正确的密码',mterror,[mbok],0);
   password.text:='';
   exit;
   end;
   //根据不同的操作员级别,允许进行不同的功能操作

if adoquery1.FieldByName('权限').AsInteger =1 then
 begin
      //超级用户拥有全部权限
      main.Formt.n21.enabled:=true;
      main.Formt.n1.enabled:=true;
      main.Formt.n4.enabled:=true;
      main.Formt.n8.enabled:=true;
      main.Formt.n12.enabled:=true;
      main.Formt.n17.enabled:=true;
   end;
   if adoquery1.FieldByName('权限').AsInteger =2 then
   begin
    //操作员用户拥有除"权限设置"外的全部权限
     main.formt.N23.Enabled:=false;
     main.formt.n1.enabled:=true;
     main.formt.n4.enabled:=true;
     main.formt.n8.enabled:=true;
     main.formt.n12.enabled:=true;
     main.formt.n17.enabled:=true;
   end;
   if adoquery1.FieldByName('权限').AsInteger =3 then
  begin
  //普通读者拥有查询的权利
    main.formt .n23.enabled:=false;
     //main.Formt.n5.enabled:=false;
     //main.Formt.n9.enabled:=false;
     main.Formt.n19.enabled:=false;
     main.Formt.n20.enabled:=false;
   end;
  checkuser.Close;

但是它总说我的adoquery1“权限”字段没有找到。但是我确实在sql server数据库中有这个字段,不过这个字段是我后来中途做程序的时候添加进去的,搞不清楚为什么?我的这段代码是不是还有问题,请高手指点

----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS