ADOQuery1.SQL.Add();
ADOQuery1.SQL.Add();
ADOQuery1.SQL.Add();<----可以连续写好几条吗(要插入很多)
最后
      adoquery1.Active:=true;
      ADOQuery1.Open;
是不是全部执行

解决方案 »

  1.   

    只要你的ADOQuery1.SQL.Add();不重复出现SELECT、INSERT、UPDATE、DELETE就可以连续写SQL语句,如果写adoquery1.Active:=true;就不要写ADOQuery1.Open;因为他们的作用是相同的,
    EXAMPLE:
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from table');
    ADOQuery1.SQL.Add(' where name='''+'tom'+'''');
    ADOQuery1.Open;
    建议用以下方式:
    var
    sqlstring:string;sqlstring:='select * from table where name='''+'tom'+'''';
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(sqlstring);
    ADOQuery1.Open;
      

  2.   

    会一条一条按次序全部执行的
    不过 对于不返回记录指针的SQL语句需要用 ExecSQL 比如Update、 Detele等
      

  3.   

    只要是SQL语句能通过就行
    但是查询和更新语句不要同时写
    写查询语句时,用OPEN执行
    写更新语句时,用EXECSQL执行
      

  4.   

    不需要执行OPEN
    又执行Active:=true
    只需要EXECSQL;
    ===================
    只要你的SQL语句没有错
    就可以运行,当然可以连续的ADD()啦!
      

  5.   

    sqlstring:='select * from table where name='''+'tom'+'''';
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add(sqlstring);
    ADOQuery1.Open;