用ADOQuery向表Table1(A,B,C)插入数据,其它A为非空的,以前用Query可以这样插入的:
    向B和C字段写入一条数据后(这时A为空),Query1.insert可以继续执行的,但现在用ADOQuery取代了query就不可以了,做ADOQuery1.insert提示A空,出错,请问应该怎样设置才可以先向ADOQuery中插入几条数据,然后在ADOQuery.post之前再向几条数据的A字段写入数据??本人还使用Delphi6,ADOQuery+ADOconnection。以前Query+database

解决方案 »

  1.   

    就是这样:
    dbedit_b,dbedit_c分别连adoqury_1的B,C字段,现在向dbedit_b,dbedit_c中分别写入合法的值后点击botton做adoqury_1.insert就提示提示A不能为空,出错
      

  2.   

    把ADOQuery设为批量更新,就可以了!
    设定Locktype 为ltBatchOptimistic
    提交数据时用;
    ADOConnection1.beginTrans;
    try
      ADOQuery1.UpdateBatch;
      ADOConnection1.Commit;
    except
      ADOConnection1.RollTrans;
    end;
      

  3.   

    多谢micau_scott(micau) ,我试试先,OK即结贴
      

  4.   

    append没问题,就是批量提交为什么不能用delete
      

  5.   

    批量DELETE的时候,表是不是有触发器,如果有触发器,记得要设set nocount on