试试这种方法:
首选不能将此字段设为Required!(包括数据库表格和客户端);
用循环语句遍历事个表!Table1.open;
while not Table1.Eof do
begin
if Table1.fieldbname('Number').asInteger=0 then
Table1.fieldbyname('Number').Clear;
Table1.Next;
end;

解决方案 »

  1.   

    如果你是用 SQL Server的话,最好还是在select
    语句里用 case 语句处理,呵呵,偶一直都是这样
    干的。譬如你吧60—75之间的分数显示为‘及格’,
    85—100显示为‘优秀’这样的问题很有效。例如:
      select  (case 
               when fenshu<60  then '及格'
               else '不及格'
               endcase)
      from TableName
    反正差不多是这样的,都好久没有写SQL了,查查
    Help就知道了呵呵
      

  2.   

    table.open;
    table.first;
    i:=table.fieldcount;
    while not table.eof do 
    begin
    for j=0 to i-1 do
    begin 
    if table.fieldbyname(table.fields[i].fieldname).asinteger=0then
    begin
    table.fieldbyname(table.fields[i].fieldname).asstring:=''
    end;
    end;
    end;
      

  3.   

    可以啊,你可在在相当的字段事一个onGetText事件判断是否为0,如为0,则
    TEXT:=''就可以了
      

  4.   

    table.open;
    table.first;
    i:=table.fieldcount;
    while not table.eof do 
    begin
    for j=0 to i-1 do
    begin 
    if table.fieldbyname(table.fields[i].fieldname).asinteger=0then
    begin
    table.fieldbyname(table.fields[i].fieldname).asstring:=''
    end;
    end;
    table.next;
    end;
      

  5.   

    我又找到更好的一方法:
    用到静态字段!
    假设对TABLE1的Size字段操作,它是整形数!
    procedure TForm1.Table1SIZEGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      if TSmallintField(Sender).Value=0 then
        Text:=''
      else
        Text:=TSmallintField(Sender).AsString;
    end;
      

  6.   

    假如对静态字段NUM操作,其为整型!
    在该字段的OnGetText事件里处理如下:procedure TForm1.Table1NUMGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    begin
      if Sender.AsInteger = 0 then
        Text := ''
      else
        Text := TSmallintField(Sender).AsString;end;
      

  7.   

    假如对静态字段NUM操作,其为整型!
    在该字段的OnGetText事件里处理如下:不好意思上面的还不完善!
    procedure TForm1.Table1NUMGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    begin
      if Sender.AsInteger = 0 then
        Text := ''
      else
        Text := Sender.AsString;end;
      

  8.   

    用TQuery来查数据吧:
      Query1.Close;
      Query1.SQL.Text:='Select ViewField=case Field when'+
                                        '  0 then null'
                                        '  else Field'+
                                        '  end '+
                       ' from table'
      Query1.Open;
      //适合以SQL Server 2000 为后台
      

  9.   

    此方方法同样适用于Query!
    假如对静态字段NUM操作,其为整型!
    在该字段的OnGetText事件里处理如下:不好意思上面的还不完善!
    procedure TForm1.Query1NUMGetText(Sender: TField; var Text: string;
      DisplayText: Boolean);
    begin
      if Sender.AsInteger = 0 then
        Text := ''
      else
        Text := Sender.AsString;end;