|
DataSetBZSJJ1.Active := false;
DataSetBZSJJ1.SQL.Text :='select '+StrRZ+',RYPBB_YGBH from RYPBB where RYPBB_NYF='''+ym+''' and RYPBB_BM='''+str+''' ';
DataSetBZSJJ1.Active := true;
DataSetBZSJJ1.First; //循环数据集1
while not DataSetBZSJJ1.Eof do
begin
strBCMC:= DataSetBZSJJ1.FieldByName(''+StrRZ+'').AsString; //获取数据集1的[名称]
strYGBH:= DataSetBZSJJ1.FieldByName('RYPBB_YGBH').AsString;//获取数据集1的[编号]
DataSetZTKQSJJ1.Open;
DataSetZTKQSJJ1.Active := false;
DataSetZTKQSJJ1.SQL.Text :='SELECT YGXXB.YGXXB_XM, YGXXB.YGXXB_GW, YGXXB.YGXXB_BM, BCSDB.BCSDB_SBSJ1, BCSDB.BCSDB_XBSJ5, YGXXB.YGXXB_KQKH, YGXXB.YGXXB_YGBH FROM YGXXB, BCSDB,RYPBB where BCSDB_BCMC='''+strBCMC+''' and RYPBB_NYF='''+ym+''' and RYPBB_BM='''+str+''' and YGXXB_YGBH='''+strYGBH+''' and YGXXB.YGXXB_YGBH = RYPBB.RYPBB_YGBH'; //根据[名称]和[编号]把数据集2的数据显示DBGrid中
DataSetZTKQSJJ1.Active := true;;
Dialogs.ShowMessage(DataSetZTKQSJJ1.SQL.Text);
DataSetBZSJJ1.Next;
end;
数据集1的[编号]和[名称]有多条记录时
这样会把后一条的记录覆盖前面的记录
请问怎么改? |
|