???????????????????????????
look at :a:=query1.fieldbyname('goods_id').AsString;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * ');
query1.SQL.Add(' from t_goods where goods_id like '+a);///!!!!!
query1.Params[0].AsString:=query1.fieldbyname('goods_id').AsString;
query1.Prepare;
query1.Open;
end;
look at :a:=query1.fieldbyname('goods_id').AsString;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * ');
query1.SQL.Add(' from t_goods where goods_id like '+a);///!!!!!
query1.Params[0].AsString:=query1.fieldbyname('goods_id').AsString;
query1.Prepare;
query1.Open;
end;
var
a:string;
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * ');
query1.SQL.Add(' from t_goods ');
query1.Prepare;
query1.Open;
a:=query1.fieldbyname('goods_id').AsString;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * ');
query1.SQL.Add(' from t_goods where goods_id like a');
query1.Params[0].AsString:=query1.fieldbyname('goods_id').AsString;
query1.Prepare;
query1.Open;
end;a:=query1.fieldbyname('goods_id').AsString;
这是主要原因。
query1.Params[0].AsString:=query2.fieldbyname('goods_id').AsString;
改为
query1.SQL.Add(' from t_goods where goods_id like’+ a);
procedure TForm9.Button6Click(Sender: TObject);
var
a:string;
begin
a:=query1.fieldbyname('goods_id').AsString;
//这一句就有问题,除非保证query1已经打开。
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * ');
query1.SQL.Add(' from t_goods where goods_id like a');
//应改为:query1.SQL.Add(' from t_goods where goods_id like'+ a); query1.Params[0].AsString:=query1.fieldbyname('goods_id').AsString;
query1.Prepare;
query1.Open;
end;