这个问题看起来是小问题,却经常困扰用户:
我直接使用DBEdit控件联到表中的String类型字段,新加记录没什么问题比如“abc”,但当用户修改以前的记录时:
问题出现了!!!!!!!!
字段是5个字符的字符串,于是在DBEdit控件中实际显示的是“abc  ”,后面有两个空格。用户可能选择“ab”修改为“dde”,这是,DBEdit控件中实际显示的是“ddec  ”,后面还有两个空格,成为6个字符的串,于是记录就不能保存了。
请指教。

解决方案 »

  1.   

    说错了,问题是:就不能选择“ab”修改为“dde”,因为DBEdit控件就设置了5个位置。用户往往很困扰,因为他看来还没有到5个字符呢。
    大家是如何解决的。前提是要使用DBEdit控件
      

  2.   

    修改数据库中的字段!
    char类型的,改为varchar就行了!
      

  3.   

    你用的是什么数据库?
    一般情况下修改字段的char类型为varchar类型
      

  4.   

    如是你是用的SQL SERVER數據庫﹐就將字段類型char改為varchar吧。
      

  5.   

    没错VARCHAR 这样的话 就可以自动清空后面的空格,它的长度是它的最大长度,就是可以自动减小!试试吧!没问题的
      

  6.   

    一般情况下修改字段的char类型为varchar类型
      

  7.   

    用trim除去空格不就ok了
    比如:a:='ab  ';
          b:=trim(a);
    那么b的内容就是:'ab'
      

  8.   

    如果是oracle 的话用varchar2
      

  9.   

    是啊 ,用trim()函数去掉就行了。
      

  10.   

    也曾被空格問題困擾,別跟我提trim,曾經把所有能加trim的都加了,問題依舊!!!
    後來一氣之下,算了,不用dbedit了,直接用edit.寫數據校驗代碼的時間比檢察空格問題的時間少得多.
      

  11.   

    同意小别的说法,在数据库中将字段的类型由Char改为VarChar类型就可以了。
    要不在使用的时候你就把空格给去掉好了。
      

  12.   

    感觉这里的很多人都不懂数据库,要命的很,
    Char类型的字段不管你去不去空格,数据库引擎总会用空格来补齐,在dephi中用Trim()来去空格,保存到数据库中时,引擎还是会改过来的,我学的也不多,但这些基本的东西还是了解的。