Adoquery1.clear;
Adoquery1.sql.add('select * from data where 函数名="4"');
ADOQuery1.SQL.Add('select * from data where 作用="3"');
ADOQuery1.open;编译报错。
难道Adoquery不能一起执行两个sql语句吗?

解决方案 »

  1.   

    将代码更改如下;
    Adoquery1.close;
    Adoquery1.sql.clear;                     //这里不是adoquery.clear;
    Adoquery1.sql.add('select * from data where 函数名=''4'' ' );
                                             //应该是两个单引号;而不是一个双引号;
    ADOQuery1.SQL.Add(' select * from data where 作用="3"');
                                            //应该是两个单引号;而不是一个双引号; 
                                            //还有;两句话中间最好用空格隔开;
    ADOQuery1.open;
      

  2.   

    你应该这样执行:
         Adoquery1.clear;
         Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
         ADOQuery1.open;
    给分吧!
      

  3.   

    Adoquery1.clear;
         Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
         ADOQuery1.open;
      

  4.   

    把ADOQuery1.open;改为ADOQuery1.ExecSQL
      

  5.   

    to 楼上,人家要返回数据集的吧,execsql是不返回数据集的。
      

  6.   

    实现你的功能这样就行了:
         Adoquery1.clear;
         Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
         ADOQuery1.open;
    执行多条select语句你可以用union
    或者select嵌套
      

  7.   

    直接写两条select虽然不报错,但是只执行前一条!后一条编译器看不见
    你的报错是因为你少了空格
      

  8.   

    'select * from data where 函数名='4' or 作用='3'
    或者
    Adoquery1.sql.add('select * from data where 函数名=''4'' ' );
    ADOQuery1.SQL.Add('union select * from data where 作用=''3''');
      

  9.   

    'select * from data where 函数名='4' or 作用='3'
    Delphi里面是单引号,VC才是双引号
      

  10.   

    With ADOQuery1 do
    begin
      Close;
      Clear;
      SQL.Add('select * from data where 函数名=''4'' ' );
      SQL.Add('go');
      SQL.Add('union select * from data where 作用=''3''');
      SQL.Add('go');  
      Open;
    end;
    加上go这后成为两个独立的批处理使得SQL Serer能同时执行两个批处理详情可以参阅美国Dejan的著作SQL Server
    顺便对楼上说一句,在引号里写双引号是为了输出单引号因为SQL里需要
      

  11.   

    不好意思有些错误以下代码通过编译
    With ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select * from Orders');
        SQL.Add('go');
        SQL.Add('select * from Customers');
        SQL.Add('go');
        Open;
      end;
    并告诉楼主,查询是可以同时执行的