cxreal(夜晚的猪),按你的方法试过,出现错误:Type mismatch in expression.
我反复检查程序,不知道问题在哪,相关代码见下面,
query1.Close;
query1.sql.clear;
query1.sql.add('Select Pat_ID,Counter,StartDate,TotalCount,ErrorCount from DataSet.db where Pat_ID=:a');
query1.ParamByName('a').Value:=trim(temp_bh);
query1.open;
if query1.recordcount > 0 then
begin
// with query1 do
// begin
query1.first;
while NOT query1.EOF do
begin
// query2.Close;
query2.sql.clear;
query2.sql.add('insert into temp_meas (Pat_ID,Counter,StartDate,TotalCount,ErrorCount) values(:a,:b,:c,:d,:e)');
分两个SQL写的话,是这样
adoquery1.sql.clear;
adoquery1.sql.add('Select Pat_ID,Counter from DataSet.db where Pat_ID=:a');
adoquery1.Parameters.ParamByName('a').Value:=trim(temp_bh);
adoquery1.open;
if adoquery1.recordcount > 0 then
begin
with adoquery1 do
begin
first;
while NOT EOF do
begin
adoquery2.sql.clear;
adoquery2.sql.add('insert into temp_meas (Pat_ID,Counter) values
(:a,:b)');
adoquery1.Parameters.ParamByName('a').Value:=adoquery1.fields[0].value;
adoquery1.Parameters.ParamByName('b').Value:=adoquery1.fields[1].value
next;
end;
end;
end;