我有一应用,从后台数据库中取得了一个产品的编码,与一个产品数量如下
--------------
aaa     2
bbb     3 
ccc     2 
---------------
现在用扫描枪来一个个的描述产品条码,在实际扫描过中是其产品的次序是不定的,现在想实现,不在后台再去做循环比较,而是想在前台来控制aaa 的最后产品扫描次数不能大于2,bbb 不能大于3,ccc 不能大于2,否则就给出提示,不知如何实际。

解决方案 »

  1.   

    将数据放到内存,比如TStringList,添加时用 AddObject,aaa是显示字符,次数放到object中,你每次扫描时,根据aaa找到,然后取出object,比较就是了
      

  2.   

    作一个临时表,把这些数据放进去,优化索引排序,。aaa 2
    bbb 3  
    ccc 2  
    扫描时,只要用locat或lookup找到记录,if 数量>0 then -1 else messagebox(..提示..);
      

  3.   

    可以用TStringList,还有一个更好的办法就是,利用你查询产品和数量的这个adoquery
    每扫一次就locate到此产品,然后数量就-1,为0时就提示,但数据并不提交到数据库中,用ltBatchOptimistic
      

  4.   

    用hash字典,在产品种类很多时速度也非常快。