var id:string;with adoquery1 do begin close; sql.clear; sql.add('select max(fieldvalue) as var from table'); open; end; id:=adoquery1.fieldbname(var).asstring;
在VFP中可以,在DELPHI中根本就不可以,因为DELPHI的查询是对象,而VFP的不是。 在VFP中是 SELECT * FROM TABLE INTO ARRAY XXXX 如果没有搞过VFP的人就不用说太多了。
"就是select...from...的结果传递给参数。" ?????? 不能那样传值的 得这样 var s:string;j:integer; begin j:=0; with query1 do begin close; sql.clear; sql.add('select * from table where 姓名="abc"'); open; end; for i:=0 to query1.RecordCount do begin s[j]:= Query1.FieldByName('姓名').AsString; inc(j); end; end; Ok?
”sql语句查询所得的结果“,你要得到什么效果
id:string;with adoquery1 do
begin
close;
sql.clear;
sql.add('select max(fieldvalue) as var from table');
open;
end;
id:=adoquery1.fieldbname(var).asstring;
要传,传的就是Query1或是Table1那些DATESET,作为参数。
而传结果的记录集给另外的DataSet的话,在ADO可以做的到。
如:
ADOTable1.RecordSet:=ADOQuery1.RecordSet;
or
ADOTable1.RecordSet:=ADOCommand.Execute;
这样可以使ADOTable1有跟ADOQ,or ADOC一样的RecordSet;
在BDE中的DateSet我没有发现有RecordSet 的指针。
在VFP中是
SELECT * FROM TABLE INTO ARRAY XXXX
如果没有搞过VFP的人就不用说太多了。
??????
不能那样传值的
得这样
var
s:string;j:integer;
begin
j:=0;
with query1 do
begin
close;
sql.clear;
sql.add('select * from table where 姓名="abc"');
open;
end;
for i:=0 to query1.RecordCount do
begin
s[j]:= Query1.FieldByName('姓名').AsString;
inc(j);
end;
end;
Ok?