SQLStr:="select * from goods where id=gid";
SQL.add(SQLStr);
Open;
First;
price:=FieldByName("price"+IntToStr(pricetype)).AsFloat;//不太明白这个

解决方案 »

  1.   

    price:=FieldByName('price'+IntToStr(pricetype)).AsFloat;
    可以这样:
    var ss: String;
      ss := 'price' + IntToStr(pricetype);
    price:=FieldByName(ss).AsFloat;
      

  2.   

    在goods表中有类似这样的字段:price1,price2,price3....,可能分别表示单价,折扣价,批发价等不同的价格,在查询的时候,我们可以查询不同价格类别的价格,比如,单价,其pricetype=1,那么我们通过最后一句,得到的price值就是price1这个字段的值。不知道说的清楚不
      

  3.   

    price:=FieldByName("price"+IntToStr(pricetype)).AsFloat;
    就相当于
    price1:=FieldByName("price1").AsFloat;
    price2:=FieldByName("price2").AsFloat;
    price3:=FieldByName("price3").AsFloat;

    就是将数据集中的数据取出来!!只是语句实现方式不一样而已!!