数据库一字段是char类型,长度是10,程序中使用fieldbyname取的,但是有个问题,程序中这个字段的长度小于10的时候,默认是空格了,所以提取的时候出现了错误,怎么才能不它转换过来?不带空格?
例如程序中是1001,但是用 FieldByName('InvoiceNo').AsString:=EdtInvoiceNo.Text, 提取的时候可能就是1001        ,带着6个空格,怎么样才能把空格去掉啊!!谢谢各位大哥!!

解决方案 »

  1.   

    如果数据库是sql server 用varchar
      
    如果数据库是orale 用varchar2
    这样就没有空格了。
      

  2.   

    请上边的2位大侠说的具体点,代码举举例子!例如FieldByName('InvoiceNo').AsString:=EdtInvoiceNo.Text,怎么给它赋值?
      

  3.   

    FieldByName('InvoiceNo').AsString:=trim(EdtInvoiceNo.Text);
      

  4.   

    你是取出数据库中的数据吧!就用trim(...FieldByName('InvoiceNo').AsString)就能去除空格了
      

  5.   

    在读取数据时用:
    Edit1.Text:=Trim(FieldByName('InvoiceNo').AsString)
      

  6.   

    function Trim(const S: string): string;
    var
      I, L: Integer;
    begin
      L := Length(S);
      I := 1;
      while (I <= L) and (S[I] <= ' ') do Inc(I);
      if I > L then Result := '' else
      begin
        while S[L] <= ' ' do Dec(L);
        Result := Copy(S, I, L - I + 1);
      end;
    end;去除字串两边的空字符.
      

  7.   

    Trim function
    Trims leading and trailing spaces and control characters from a string.
    去除两端的空格TrimLeft function
    Trims leading spaces and control characters from a string.
    去除左端的空格TrimRight function
    Trims trailing spaces and control characters from a string.
    去除右端的空格
      

  8.   


    建議樓主將char,varchar,nvarchar數據類型搞清楚再說! 
    去掉6個空格簡單, 這不是解決問題的最佳方案!治標不治本!
    難道每次讀取這個字段數據的時候都要 Trim(xxx.FieldByName('InvoiceNo').AsString)???最好你按照一樓pdbird(老巢)的說法.將char換成varchar!!!
      

  9.   

    rim(FieldByName('InvoiceNo').AsString)
    trim(EdtInvoiceNo.Text)
    都可以
      

  10.   

    Trim(String)
    用于去掉字符串两边的空格.
      

  11.   

    来晚了
    你定义的字段类型的问题,如果是varchar就不会有空格
    解决方法有二:
    一是更改字段类型为varchar
    二是用trim
      

  12.   

    FieldByName('InvoiceNo').AsString:=trim(EdtInvoiceNo.Text);
      

  13.   

    大家帮我看看,这样绑定时间类型参数怎么会报错啊:无效的精度或刻度
     ADOQuery1.Parameters.ParamByName('C1').Value:='2005-12-12'; 
    ---------------------------------
     ADOQuery1.Parameters.ParamByName('C1').Value:=StrToDate('2004-12-12');
    也报错 
    刚学dephi,请大家指教,还有那位告诉我怎么发贴啊?