学校要我们做课件了,我打算做个酒店管理系统!
想法:
我想当在主窗口输入餐厅部的帐号密码时进入餐厅部模块,
  当在主窗口输入客房部的帐号密码时进入客房部模块,
  当在主窗口输入经理部的帐号密码时进入维护部模块,我现在建了三个表:餐厅表.客房表.维护表.
当然是想分别用于存储各表的帐号密码。
但我发觉这样多表好像不行。各位大鸟,请指点我完成我的想法重金赏勇夫重金赏勇夫重金赏勇夫重金赏勇夫重金赏勇夫重金赏勇夫重金赏勇夫

解决方案 »

  1.   

    你不能把用户信息放到三个表中,你只需要一个用户表:employee,比如有几个字段:userid(用户编号),userpassword(用户密码),dep(用户所属部门)等。在用户登陆时,把这个字段叫 dep值取出来,让DEP决定你要进入哪个模块。var
      vdep:string;
    ..........vUid:='test';
    vUpwd:='testpassword';
    query1.close;
    query1.sql.text:='select * from employee where userid='''+vuid+'''  
                      and userpassword='''+vUpwd+'''';
    query1.open;
    if query1.recordcount>0 then
      begin
        vdep:=query1.feildbyname('dep').asstring;
        if vdep='餐厅部' then
           frmCTB.show;
        if vdep='客房部' then
           frmKFB.show;
        if vdep='维护部' then
           frmWHB.show;
        query1.close;
      end
    else
      begin
        application.messagebox('用户不能登陆!','提示',0);
        query1.close;
        close;
      end;
      

  2.   

    有一句打错字了(vdep:=query1.feildbyname('dep').asstring;)
    应该是:vdep:=query1.fieldbyname('dep').asstring;其它我没看,我不是在DELPHI中打的代码,是直接在这里打的,可能有字母打错,你自己检查吧。
      

  3.   

    这样的话也是可以的,但一定要先把三个部门的帐号做好!也就是说三个部门的帐号有明显的区别
    例如:
    餐饮部:CY00001--CY00099
    客房部:KF00001--KF00099
    经理部:JL00001--JL00099
    之间,这样在登陆是可经行判断,用case 语句进入不同的模块啊!