现有两个表:基本信息表和收费表
要根据基本信息表中的数据,向收费表中添加收费信息..
问题是:要动态的显示收费结果,如在DBGRId中显示单位,用户名,等...就要用adoquery.append 这样的话就会在表中产生一条记录,但要放弃本次操作,又要删除这条记录,这样的话,很多收费端同时操作,我觉是不是对数据来说会不太安全,请达人们给点思路...

解决方案 »

  1.   

    我想这样做:
        先根据关键字查询到要收费的用户(可能一条,或多条),再显示待收费的相关信息(单价,数量,用户名等),查看没有错后,添加进数据库.    但这里有个问题是,在显示的待收费相关信息中,有一项要我想动态的询问收费人员是否收取.ADOQuery不支持对计算列进行数据添加..
        难到只有建个临时表,先把收费信息添加进临时表,确定后再添加进收费表中这一种办法吗??有没有更好的,更简单的办法
      

  2.   

    按照我说的,你在2楼说的也没有冲突啊,你所谓的动态的询问收费人员是否收取
    是不是就是点击收费按钮,如果收费就点击,不收费,就不用点击,查看待收费列表中的其他项
    还是有这么个字段,是动态询问收费人员是否收取这一项的,这也没有什么啊,这一列单独处理,作为insert into 表(字段1...n)values(参数1...n)其中的一个参数不就行了
      

  3.   

    这样说吧:
     表名: 员工信息表[ygxx]  ID,姓名,工作日期,基本工资,独生子女补助,特别补助等...
           工资表[gz]   ID,姓名 ,实发工资,发放日期,基本工资,独生子女补助,特别补助费
    if 发 特别补助 then
       实发工资=ygxx.基本工资+ygxx.独生子女补助+ygxx.特别补助
    else
       实发工资=ygxx.基本工资+ygxx.独生子女补助操作作流程:根据ID查询(可能一个,也可能多个),点发放按钮,同时询问是否发放特别补助(针对每个人),根据不同选择,显示工资的相关内容,
             确认无错后,添加进工作表. 我现在在DBGRID中显示的实发工资,基本工资,姓名,ID是用计算列得到的,这样为一个人发工资时用if判断一下询问返回的结果,就可以完成要求,
                  但多个ID时,一条select语句就不行了,因为选择的结果不会一样... 我想了一种解决办法: 设一临时表.通过循环,对选择的一条或多条记录进行询问,计算后的内容写到该表中,DBGRID中显示临时表的内容,
           检查无错后,复制到工资表,再删除临时表中的记录             但程序意外终止,或停电,临时表中的记录就没有被删除...就会有错误出现.(当然可以在显示前,根据条件删除以前的记录),  我想问一下,有没有别的解决办法,,不写到表中...再有,用计算列的方法,是不是数据很多(如上百条时有可能会反应慢,或死锁)