摘要:
一直以来都知道,在 sql server 中,varchar类型是按字节计算的。例如 varchar(50) 可以存储50个英文字符,但只能存储25个中文字符(一个中文字符2个字节)。改为 nvarchar 可以解决这个问题,但在写sql语句的时候必须加上N标识,否则会产生乱码。
但最近用 C# 做数据库项目,才知道问题很严重。本来输入的合法性就应该在界面上做好限制,例如对于varchar(50) 的字段,能在界面上控制用户不能输入超过50个单字节字符,是最好不过的了。然后发现 textbox 的 MaxLength 计算的只是 Unicode 长度。
对于 Unicode ,我这里就不做描述了。设置 MaxLength 是不能很好的保证输入的合法性。因此我决定为 textbox 增加一个限制最大字节数的属性:MaxByteLength 。
阅读全文
posted @ 2007-04-10 18:03
柠檬隐士
阅读(16142)
推荐(2)
编辑