好奇怪的问题,第一次和第二次插入时都正确,第三次插入时会同时插入两条一样的记录,不懂怎么回事,高手帮忙看看SQL语句~~:
             ado_js.SQL.Clear;
             ado_js.SQL.Text:='insert into jfjl(yhbh,sbbh,ssqy,qsds,zzds,nd,yf,ysl,dj,bysf,sfysf)'+
                              ' select cbjl.yhbh,cbjl.sbbh,cbjl.ssqy,cbjl.qsds,cbjl.zzds,'''+edit1.Text+''' as nd,'''+combobox1.text+''' as yf, '+
                              ' cbjl.ysl,cbjl.dj,0,0  from cbjl left join jfjl on(cbjl.sbbh=jfjl.sbbh) where cbjl.yf='''+combobox1.Text+''''+
                              ' and cbjl.nd='''+edit1.Text+'''';
             ado_js.ExecSQL;
第次都插入了7条记录.其中,ND为年度,YF为月份.第一次插入7月份记录为7条,第二次插入8月份记录也7条,可第三次插入9月份记录时,则是十四条~~~每条重复一次~!!!
 把该语句在SQL里执行也是同样的结果~~!!!

解决方案 »

  1.   

    是正确的啊,试过好几次,第一次,第二次插入数据时都没问题(7条),可第三次插入9月份时就出问题了,出现重复记录~~~
    这是CBJL中9月份的记录
    yhbh sbbh  qsds zzds ysl  nd    yf  dj         cbrq      yslx sfycb ssqy  cby
    434  0000    23  42  19   2006    9 1.2 2006-8-9 居民用水 1   5    江枫
    345  01102  42  63   21   2006    9 1.2 2006-8-9 居民用水 1   123  江枫
    2113 011021 132 183 51   2006    9 1.2 2006-8-9 工业用水 1   5 江枫
    2113 110231 32  46  14   2006    9 2 2006-8-9 事业单位 1   5 江枫
    434  1232   46  61  15   2006    9 2 2006-8-9 事业单位 1   5 江枫
    345  2214    83  118 35   2006    9 1.73 2006-8-9 营业个体户1 123 江枫
    1122 3333   20  29  9    2006    9 1.2 2006-8-9 居民用水 1   5 江枫
    其中7,8月份的记录都一样的!!
      

  2.   

    是插入语句有问题的了,第一次插入时,JFJL表中没有记录,第二次时有一条,第三次时就会有两条,依次下去~~,在插入语句上加上WHERE 指定查询条件,(每次只查询出JFJL表中其中一个月的记录)就可以保证不重复~!!