在一个数据注册页面,在TextBox中填入数据然后填到数据库中,数据库是Oracle的,对应的字段为Char(5),如果在TextBox中填入的是英文,超过5个就自动截断,可如果输入中文超过长度就报错,本来想用TextBox的MaxLength属性来约束的,可TextBox中一个中文,英文字长度都当作1,而数据库中中文字长度当作2,而英文字长度当作1。大家说说有什么方法能解决我的问题???

解决方案 »

  1.   

    昏,还有数字呢如果每个TextBox都要这样判断不是很麻烦,每个页面都有10个左右的TextBox,这样工作量不是很大??
      

  2.   

    ascII XX和XX之间,具休的值我忘了
      

  3.   

    先将TextBox里面的字符 复制到一个char数组 然后看看char数组的长度
      

  4.   

    其实代码很简单
    cmd.Parameters[":Name"].Value=txtName.Text;
    txtName是TextBox,
    Name是数据库字段为Char(5)
    如果txtName的Text是“中国人”三个汉字就超出范围系统报错,如果是英文“abcdefgh",
    就不会报错,只是截取前面5个。
      

  5.   

    可以考虑使用正则表达试验证或使用check&&uncheck判断数据溢出问题,