把该字段定义的大一些
alter table tablename alter column colname varchar(255)

解决方案 »

  1.   

    你修改数据库应该是在企业管理器,或者前途控件改的吧因为char类型是会在后面添加空格充满20个字符
    所以你不删掉后面的空格,再添加进字符,肯定报错。你改字段类型为varchar或nvarchar,然后用这个语句批量将空格去掉
    update 表 set 字段=RTRIM(字段)
      

  2.   

    --你是怎么修改的?char类型的字段,其后面会自动补空格.修改的时候要去空格.--例子:
    declare @tb table(a char(10))
    insert into @tb
    select 'a'
    union all select 't'
    union all select 'z'
    --update @tb set a=a+'abc'  --如果执行这句就会错.
    update @tb set a=rtrim(a)+'abc'  --正确的写法,去掉尾部空格再处理.
      

  3.   

    如果你表中存储的字符数据长度不是固定的,建议你改用varchar类型.当然,效率会略低于char
      

  4.   

    保存时数据库会转换‘1234’成
    '1234□□□□□□''1234□□□□□□' + 'BCD'
    长度要比10个长'1234□□□□□□'
    的长度等于
    '1234567890'
      

  5.   

    错误发生在客户端里往field对象中赋值的时候