我有这样一个循环,是要把一个EXCEL表中的数据写入到数据库中:
while not bh1query.eof do 
   begin   
   从数据库中查:货品代号;
      if 货品代号='' then
      exit
      else 
      得到 货品代号;
      根据这个货品代号查价格
      if 价格=''then
      exit
      else
      得到 价格
      
      把货品代号和价格写入数据库
   end;
现在问题出来了,如果第一个货品代号找到了,那么就把第一条记录写入了数据库,但第二条货品代号没找到,那么就退出了循环,等我把第二个货品代号加入EXCEL表,再得新运行这个程序,那么第一条记录就写入了两次!怎样改改这个程序,让其不重复写入呢!

解决方案 »

  1.   

    没看懂是什么意思,不过不能用循环控制的BREAK和CONTINUE吗?不要老是用EXIT啊
      

  2.   

    你在最前面加一个bh1query.first
    你的问题我没太看懂,
    看程序好像没有什么问题,但如果你要做
    你可以在表中加一个BIT的字段,当查过后就UPDATE为1
    你只找是0的就可以了。
    当全部做完后再全部UPDATE为0
      

  3.   

    if 货品代号='' then
          exit//
    if 货品代号='' then
          Continue;
      

  4.   

    if 货品代号='' then
    begin
       Next;
       Continue;
    end;
      

  5.   

    刚才我可能没写清楚,是把一个EXCEL表中的数据导入到数据库中:
    bh1query.first
    while not bh1query.eof do 
       begin   
       从excel表中查:货品代号;
          if 货品代号='' then
          begin
           next;
           conntinue;
          end 
          得到 货品代号;
          根据这个货品代号查价格
          if 价格=''then
          begin
          next
          continue
          end
          得到 价格
          
          把这条记录写入数据库(货品代号和价格)
       end;
    我若按以上执行,假如bh1query查到5条记录,有二条的货品代号为空,那么最后写入数据的只有三条记录,另然两条我在EXCEL表中把货品代号加进去,然后再执行一次这个循环,他会再写5条记录进去,这样就有三条是重复的,怎样改一下结构让其不重复写入数据库呢!