我在报表中显示查询字段planprice时,
显示:(invalid)(inv  不能显示字段内容,这是为什么呢??
select g.name,g.code,g.pprice,round(c.planprice,4) from goods g inner join c_plan c on g.goodsid=c.goodsid 
我不用保留四位小数的函时如下语句可以正常输出语句如下:
select g.name,g.code,g.pprice,c.planprice from goods g inner join c_plan c on g.goodsid=c.goodsid 

解决方案 »

  1.   

    试试:
    select g.name,g.code,g.pprice,round(c.planprice,4) as planprice from goods g inner join c_plan c on g.goodsid=c.goodsid 
      

  2.   

    回复:ithinkthereforeiam
    哥们不行!
    报表中该字段还是显示如下:invalid)(inv
      

  3.   

    那就应该round函数出现的问题了,用的啥数据库?是不是c.planprice字段里有无效的值?
      

  4.   

    用的SQL 2000
    但是我查询后在DBGRID 中显示是可以的,
    同样也用了这个函数!
    查询语句也是一样的,在报表上显示就出问题了
      

  5.   

    哥们!我改成这样又可以了,
    这是怎么回事呢?
    select g.name as name,g.code as code,g.pprice as pprice,round(c.planprice,4) as planprice from goods g inner join c_plan c on g.goodsid=c.goodsid 
    就是说全部字段的AS都加上这样就行了!
      

  6.   

    那估计是你在报表中指定了planprice字段,而你在select g.name,g.code,g.pprice,round(c.planprice,4) from goods g inner join c_plan c on g.goodsid=c.goodsid中没有给(c.planprice,4)指定字段名,报表找不到planprice字段显示成invalid)(inv。
      

  7.   

    是的
    我在报表中有给(datatext)指字段为:planprice
    报表中可以不指定段吗??
    在报表中给(c.planprice,4)指定字段名如何作呢??
      

  8.   

    报表指定字段没有问题,你只需要对数据集的字段和报表指定的字段保持一致即可。
    round(c.planprice,4) as planprice就是给其指定字段名。