请教一个学生管理系统的问题!现想设计一个具有如下功能的系统:
管理员分级(如学工处和教务处都用,但有各自的密码进入,并屏蔽一些菜单)
学生管理,成绩管理,数据备份,密码管理,等功能。有哪位做过吗,或我们一块来讨论,哪位有做过的朋友能给点思路或源代码来一同学习一下吗,小弟刚入门,但想通过做一个项目来提高自己,随便请各位用Delphi的朋友教一下怎么学好DELPHI吧。好吗,我们做朋友吧,有空请到http://jsjyc.yeah.net联系。E——MAIL:[email protected]

解决方案 »

  1.   

    你可以定义一个用户表,定义一个权限字段(内容0,1,-1代表不同权限)。
    function Tloginform.checkuser(auser,apwd:string):integer;
    var q:tadoquery;
    begin
      try
       q:=Tadoquery.Create(nil);
       q.ConnectionString:=connectstring;
       q.Close ;
       q.SQL.Clear ;
       q.SQL.Add('select * from yonghu where username='''+auser+'''');
       q.Open ;
      if q.RecordCount=0 then
         begin
            Messagedlg('用户名'+auser+'错误!',mterror,[mbok],0);
            result:=-1;
            exit;
         end
      else
         begin
           if q.FieldByName('username').AsString=apwd then result:=q.fieldbyname('usertype').AsInteger
           else
            begin
               Messagedlg('密码错误!',mterror,[mbok],0);
               result:=-1;
               exit;
            end;
         end;
       except
          result:=-1;
          Messagedlg('连接数据库出错!',mterror,[mbok],0);
      end;
      q.Close;
      q.Free ;
    end;
    登陆窗口用上述函数检查,返回RS值判断权限,然后调用以下过程,把RS值传给P
    procedure Tmainform.viewmenu(p:integer);
    begin
      case p of
      -1:显示哪些按钮
      0:显示哪些按钮
      1:显示哪些按钮
      

  2.   

    对不起,上面checkuser函数中应该是if q.FieldByName('password').AsString=apwd then
      

  3.   

    楼上的那位仁兄还真是会说笑,建议以后不要随便贴源代码。没人看的。
    回答楼主:我前几天做课程设计,做过这个东西。如果要的话。呵呵。给我发消息再发给你。好像写了800余行代码。MDI窗体,有登陆界面,数据库中的用户管理。但是权限管理做的还不是很细。ParaDox数据库。很夸张的ER图,呵呵。ER图还被老师特意批评了一顿。