请各位高手帮我指点以下,现在碰到一个这样的 问题,我在表里由一个字段时整数,在界面上要显示时一个字符型,
如,USER_NAME(bh,xm,xb)Xb字段在表里是 0,1  0:----男,1---女我现在界面上要显示的 XB字段为男和女,如何现实.谢谢!!!
不知道是这样写的吗?adoquery1.close;
adoquery1.sql. clear;
adoquery1.sql.add('select  bh,xm xb case '0' then '男' ,xb case '1' then '女' from user_name ');
adoquery1.open;

解决方案 »

  1.   

    一个办法是你给adoquery1添加永久字段,然后在字段的ongettext事件去写。
    if FieldByName('').asinteger = 1 then text = '男';
      

  2.   

    adoquery1.sql.add('select  bh,xm , case xb when '1' then '男' else  '女' end from user_name ');
      

  3.   

    请各位高手帮我指点以下,现在碰到2个这样的问题,
    1)。我的数据库是ACESS的,我在表里由一个字段时整数,在界面上要显示时一个字符型,
    如,USER_NAME(bh,xm,xb)Xb字段在表里数据是 0,1  0:----男,1---女
    我现在界面上要显示的 XB字段为男和女,如何现实.谢谢!!!
    如果是SQL SERVER,这样写是没有问题能转换的,但是ACESS数据库我这样写就不转换,
    adoquery1.close;
    adoquery1.sql. clear;
    adoquery1.sql.add('select  bh,xm , case xb when '1' then '男' else  '女' end from user_name ');
    adoquery1.open;
    2)。关于查询的问题,我想查询,commitstate为TRUE的记录,我的数据库是ACESS,有一个字段是Boolean类型的,但是我想查询这个字段,如何实现,表txpp(bh,xm,commitstate);
    字段commitstate 为是,否,我现在不知道什么实现,请帮我看看我的写的代码如下:var 
     byter:boolean;procedure TF_SJCX.RadioButton1Cick(Sender: TObject);
    begin
    if RadioButton1.hecked then
       byter:=true
      else if  RadioButton2.hecked then
       byter:=false
    end;procedure TF_SJCX.RadioButton2cLick(Sender: TObject);
    begin
    if RadioButton1.hecked then
       byter:=true
      else if  RadioButton1.hecked then
       byter:=false
    end;
    procedure TF_SJCX.BitBtn2Click(Sender: TObject);
    var
    ss:string;
    time:string;
    begin
     if CheckBox4.Checked then
          ss:=ss+'and commitstate=''true''';
         ss:='select * from txjl where 1=1'+ss+' order by fssj desc ';
         data1.ADO_SJCX.Close;
         data1.ADO_SJCX.SQL.Clear;
         data1.ADO_SJCX.SQL.Add(ss);
         data1.ADO_SJCX.Open;
         if data1.ADO_SJCX.RecordCount= 0 then
         begin
            showmessage('你没符合查询条件,请重新输入')
          end;
      end;
      

  4.   

    怎么这么多啊,第二个true上面不要双引号,and前面加一个空格