sql.Add('delete  from BGZZ');
            execsql;
            sql.clear;
            sql.add('insert into   BGZZ  (STNR,KSYB,MTLS,SJBH)');
            sql.add('select  STNR,KSYB,MTLS,SJBH');
            sql.add('from  OpenDataSource(''Microsoft.Jet.OLEDB.4.0'', ''Data Source='+ PaperDatabase+'; Persist Security Info=False '')');
            sql.add('...BGZZ'); //access 里的表
            execsql;
          
运行程序后,上面只做了删除,后面的插入没有实现是什么原因?

解决方案 »

  1.   

    后面的语句可行吗?我sql不好,是不是应该有个values什么的?
    帮你顶吧。
    我觉得有可能是你的后面sql语句有问题。
      

  2.   

    sql.add('insert into   BGZZ  (STNR,KSYB,MTLS,SJBH)');
    有问题!
    sql.add('insert into   BGZZ  (STNR,KSYB,MTLS,SJBH)' values (''''));
      

  3.   

    1,首先你将select后面的语句用括号括起来试试;
    2,相对较长,较复杂的语句建议写成存储过程。
      

  4.   

    我觉得你的程序本身实现有问题吧
    你在update事件里添加insert into  语句是不是不妥呢