表:hotelid integer, status smallint;
如何把status在dbgride中显示为字符串?

解决方案 »

  1.   

    DBGrid中的数据都转为字符串后DRAW上去的.
    如果是想格式化一下.
    可以在字段的settext和gettext事件中进行
      

  2.   

    select hotelid , cast(status as varchar) from table1 where ....
      

  3.   

    SQL有转换一般类型的函数,找找看
      

  4.   

    在sql语句中格式化需要的结果
      

  5.   

    有个简单的办法,在数据集的字段对象里面的选择status这个字段,它有个方法叫OnGetText,声明为:GetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
      你在这里面写
      begin
        if sender.asinteger = '1' then
          Text := '...'
        else
          Text := '...';
      end;
    或者用SQL语句控制,select case when status=1 then '...' when status=2 then '...' from 表名 where ...
      

  6.   

    你想干吗啊。。什么叫数字显示为字符串???如果只是想取数的时候把整形按照字符类型取得,那直接asString就可以了啊如果是想硬把1转换撑'1',那就select 的时候,通过convert转换。