我将edit.text值赋给数据库表里的字段。如果edit为空,那么数据库表里的字段值怎么不是<NULL>,而是空格(长度为该字段长度)。怎样解决这个问题。

解决方案 »

  1.   

    我觉得是sqlserver的问题,你不要把字段长度设置为定长的,而是可以变化的那种就可以吧。
      

  2.   

    char 和varchar 都一样。只不过空格长度不同。如果在sqlserver里添加数据不填该字段,那么该字段值会是<NULL>,为什么在界面里输入到数据库就不行。
      

  3.   

    我在编程时也遇到过你这样的问题,比如有设一个字段名为‘地点',sql sever中设为 char型若长度为6,如果你这样输入 ‘成都’,则你用下面的句子是找不到该记录的
    select * from *** where 地点 =‘成都’;
    因为‘成都’的长度为4(一个中文长度为 2 char);
    所以你就得这样在‘成都’后空2格
    select * from *** where 地点 =‘成都  ’;
    当然如果你输入的是‘黑龙江’就不用空格了,因此你可以设一个函数来判断
    function thename(aname:string):string;
    begin
     if length(aname)=4 then
      result:=aname+‘  ’//输入 ‘成都’加两个空格;
     else
      result:=aname; //若输入‘黑龙江’就不用空格了
    end;
      

  4.   

    自己先判断一下
    if edit.text='' then