如
Adoquery1.clear;
Adoquery1.sql.add('select * from data where 函数名="4"');
ADOQuery1.SQL.Add('select * from data where 作用="3"');
ADOQuery1.open;编译报错。
难道Adoquery不能一起执行两个sql语句吗?
Adoquery1.clear;
Adoquery1.sql.add('select * from data where 函数名="4"');
ADOQuery1.SQL.Add('select * from data where 作用="3"');
ADOQuery1.open;编译报错。
难道Adoquery不能一起执行两个sql语句吗?
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;
Adoquery1.clear;
Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
ADOQuery1.open;
给分吧!
Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
ADOQuery1.open;
Adoquery1.clear;
Adoquery1.sql.add('select * from data where 函数名='4' or 作用='3'');
ADOQuery1.open;
执行多条select语句你可以用union
或者select嵌套
你的报错是因为你少了空格
或者
Adoquery1.sql.add('select * from data where 函数名=''4'' ' );
ADOQuery1.SQL.Add('union select * from data where 作用=''3''');
Delphi里面是单引号,VC才是双引号
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里需要
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;
并告诉楼主,查询是可以同时执行的