我用ADOQuery 里有个字段Sex SqlServer2K的bit型 在DBGrid里显示为True And False我想修改True=Boy False=Gril;我在 ADOQuery OnSocllAfter里if(ADOQuery-〉FiledByName(“Sex”)-〉ASBoolean)
{
 ADOQuery-〉FiledByName(“Sex”)-〉DisplayLabel=“Boy”;
}
eles
{
 ADOQuery-〉FiledByName(“Sex”)-〉DisplayLabel=“Gril”;
}可是无效!!帮忙啊

解决方案 »

  1.   

    你的语法写的好奇怪啊,if没有then,还有{},你写的是不是C语言啊?
      

  2.   

    把ADOQuery 的SQL写为:select  case sex when true then Boy
                                           when flase then Girl 
                                  end 
                          from 表名
      

  3.   

    我也想知道 记得在Delphi里的字段可以修改的
      

  4.   

    简单问题,使用OnGetText和OnSetText就行了
      

  5.   

    楼主肯定是学C出身的
    begin
      if CompareStr(Column.FieldName,'Sex')=0 then begin
         if (Column.Field.DisplayText='False') then
          DBGrid1.DataSource.DataSet.FieldByName('Sex').DisplayText:='Boy'
          else DBGrid1.DataSource.DataSet.FieldByName('Sex').DisplayText:='Gril';
      end;
    end;
      

  6.   

    一:  
    不要在DBGrid上打主意。  
    在DataSet上打主意。  
    你在选择的时候decode。将true解码成  “√”将false  解码成  “×”  
    好像是  select  BoolField(True,"√",False,"×")  from  TableName;  
     
    二:  
    Table1AfterOpen(TDataSet  *DataSet)  
    {  
           ((TBooleanField*)(DataSet->FieldByName("BoolField")))->DisplayValues  =  "√;×";  
    }