我现在用DBGrid显示从ADOQuery中查到的数据,其中
有一个字段是integer类型,代表类型 比如 1 = "香烟"
2 = "白酒", 我不想这个字段的值显示为1,2...等数字,而是显示
"香烟","白酒"等等. 请问该如何做呢? 谢谢

解决方案 »

  1.   

    双击ADOQuery,按Ctrl+F加入固定字段
    选择你说的integer字段,在它的OnGetText事件中写
    case sender.asinteger of
      1:Text = '香烟';
      2:Text = '白酒';
      3:Text = 'XXX';
      .......
    end;
      

  2.   

    ADOQuery里面的字段对象的GetText事件下写入如果代码,比如该字段对象名为UserAddress;
    procedure TForm1.ADOTable1UserAddressGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    begin
      if Text = '1' then
        Text := '香烟'
      else if Text = '2' then
        Text := '白酒';
    end;
      

  3.   

    在ADOQuery的字段编辑器里面选择那个字段
    然后OnGetText里面添代码就可以了
      

  4.   

    双击ADOQuery,按Ctrl+F加入固定字段
    选择你说的integer字段,在它的OnGetText事件中写
    case sender.asinteger of
      1:Text = '香烟';
      2:Text = '白酒';
      3:Text = 'XXX';
      .......
    end;
      

  5.   

    两个方法:
    1)直接在你的SQL语句中,把1、2转化为香烟'、'白酒'
    2)用计算字段,在数据集的Oncalculate事件中,进行转化。
      

  6.   

    SQL语句:SELECT CASE 字段名
    WHEN 1 THEN '香烟' 
    WHEN 2 THEN '白酒'
    .... 
    END FROM 表名
      

  7.   

    双击ADOQuery,选择你说的integer字段,在它的OnGetText事件中写
    case sender.asinteger of
      1:Text = '香烟';
      2:Text = '白酒';
      3:Text = 'XXX';
      .......
    end;