小弟初学delphi,买来的教材上没有细讲ADO,试用时遇到这个问题:
TQuery有UpdateSQL,可是TADOQuery我却不知道该把insert,delete,update的sql写在哪里。另外,TQuery通过把CachedUpdate设成true来采用缓冲区,可是TADOQuery呢?
问的很菜,不要见笑。

解决方案 »

  1.   

    TADOQuery.sql.add('insert');
    TADOQuery.sql.add('delete');
    TADOQuery.sql.add('update');
    TADOQuery.open;
      

  2.   

    Adoquery1.insert;不用Sql语句也可以的
      

  3.   

    TADOQuery.sql.add('update table set fieldanme');
    execsql,没有返回结果的就是要用execsql了
      

  4.   

    设置LockType := ltBatchOptimistic可以使TADOQuery采用缓冲区
      

  5.   

    如果用TADOQuery.sql.add这样的方法,也就是在程序中修改sql,是不是每次修改前先要TADOQuery.sql.clear?是否还需要先把TADOQuery.close修改完毕后再open?
    缓冲区真的那样设置吗?
      

  6.   

    设置ADOQuery的LockType=ltBatchOptimistic模式
    try
      adoconnection1.BeginTrans;
      adoquery1.UpdateBatch;
      adoconnection1.CommitTrans;
    except
      adoquery1.CancelBatch;
      adoconnection1.RollbackTrans;
    end;
      

  7.   

    我认为既然要用TADOQuery
    那就干脆所有对数据库的操作就全用SQL语句...