我有两个query, 一个叫qryMaster,一个叫qryDetail。其中qryDetail中的Sql查询条件要用到qryMaster中的查询结果。qryMaster的查询为select gys_bh from gys。qryDetail的查询语句中第2个参数为qryMaster的gys_bh字段,比如'select * from rkd where ycl_bh =:var0 and ck_bh = :var1 and gys_bh := var2',怎么让qryMaster中的查询结果导入到qryDetail的Var2中去。我已经设置qryDetail的DataSource->dsMaster->qryMaster了。多谢了。
可以直接的调用QryMaster的查询结果~
Var2:=QsMaster.firleValues[''];
ado1.SQL.Text := 'select gys_bh from gys';
ado1.Open;
ado2.Close;
ado2.SQL.Text := 'select * from rkd where ycl_bh = :var0 and ck_bh = :var1 and gys = :var2';
ado2.Parameters[0].Value := ...
ado2.Parameters[1].value := ...
ado2.parameters[2].Value := ado1.FieldByName('gys_bh').AsString;
ado1.Open;
我的方法是不是很麻烦,真苦恼。
ado1.SQL.Text := 'select gys_bh from gys';
ado1.Open;
ado2.Close;
ado2.SQL.Text := 'select * from rkd where ycl_bh = :var0 and ck_bh = :var1 and gys = :var2';
ado2.Parameters[0].Value := ...
ado2.Parameters[1].value := ...
ado2.parameters[2].Value := ado1.FieldByName('gys_bh').AsString;
ado2.Open;
我的方法是不是很麻烦,真苦恼。
begin
Close;
SQL.Clear;
SQL.Add('select gys_bh as gys_bh from gys;');
Open;
end;with fmAllProviderNonstorageMaterialReportShow.qryDetail do
begin
Close;
SQL.Clear;
SQL.Add('select * from rkd where ycl_bh = :var0 and ck_bh = :var1 and gys = :gys_bh');
Parameters[0].Value := ...
Parameters[0].Value := ...
Open;
end;然后设置qryDetail的DataSource->dsMaster->qryMaster行不行?