把你的Edit换成DBEdit
把你的Combox换成DBLookUpCombox。
两个DBLookUpCombox的ListDatasource指向部门表和人员表
让DBLookUpCombox下拉时显示汉子的名称。存入数据库的会是ID
试一试吧

解决方案 »

  1.   

    To MouseBrother():谢谢你的提醒,如果不换的话有没有更好的方法来解决?
      

  2.   

    我曾经作过,十分笨不过能实现这个功能.
     在程序中另外做两个list,分别存放部门和人员类别的id.汉字和id在各自数组中的位置
    相一致.到时取汉字的itemindex作为id的index.
      

  3.   

    To uestc_yrq(我是猫) :谢谢你的帮助,让我们再想一下,应该有更好的方法吧
    我会给你加分的,谢谢!
      

  4.   

    我想了一下,能不能这样:nowbmmc:=combobox1.Items[combobox1.itemindex];  //取得当前部门的名字
      with qybm do
      begin
        close;
        sql.Clear;
        sql.add('select bmid from bmb');
        sql.add('where bmmc=:bmmc');
        parambyname('bmmc').AsString:=nowbmmc;
        execsql;
      end;
      
      nowbmid:=qybm.Fields[0].AsString;  //有问题!!所以:怎么把当前这个bmid读出了并赋给nowbmid???!!!请各位指点: