数据表里有这几个字段
kcsl(库存数量),kcdj(库存单价),kcje(库存金额),wbmc(外币名称),wbdj(外币单价),wbje(外币金额)
库存数量是一定的,其中外币名称有人民币和越南盾两种内容,如果是wbmc是人民币,则只会有kcdj和kcje字段有内容,如果wbmc是越南盾,只会有wbdj和wbje有内容。现在DBgrid有四个字段  库存数量,货币名称,单价,金额我想问一下我怎么才能实现从数据库里查出来,如果wbmc是越南盾,就把库存单价和库存金额显示出来,而如果是越南盾,就把wbdj和wbje显示出来?谢谢大家了

解决方案 »

  1.   

    如果是越南盾的话 :
    dbgrideh1.columns[i].visable:=False;
      

  2.   

    查询时判断你的货币种类,然后根据结果决定 Visable
      

  3.   

    用sql语句就能实现呀。 如果是人民币就把 库存单价和库存金额显示出来,wbdj和wbje 显示为空。如果是越南盾 就wbdj和wbje 显示出来 把 库存单价和库存金额 置为空。select wbmc,
           case wbmc when '人民币' then kcdj end as dcdj,
           case wbmc when '人民币' then kcje end as kcje, 
           case wbmc when '越南盾' then wbdj end as wbdj,
           case wbmc when '越南盾' then wbje end as wbje    
          from tab_test  
    效果如下,不知道是不是你要的效果 :
        WBMC DCDJ KCJE WBDJ WBJE
    人民币 10.2 10002.1
    越南盾 23.52 21
      

  4.   

    这个不是我想要的效果,其实我想要的是DBGRID里面只显示三个字段,数量、单价和金额,如果是人民币,单价和金额字段就显示人民币的数额,如果是越南盾就显示数据库里面越南盾的
      

  5.   


    select kcdj,kcje from A where A.wbmc = '人民币' union all select wbdj as kcdj ,wbje as kcje from
    where A.wbmc = '越南盾'
      

  6.   

    1:可以用视图
    2:直接用SQL语句
    支持 shadow1986a
      

  7.   

      if ………………
         dbgrid1.columns[i].visable:=False;//设置dbgrid1的某列隐藏
      ……………………