我在数据库中有一个Abc字段,我想确保用户不超过数据库中字段的限制,因此我使用的验证表明“你不能输入超过50个字符”。
现在的问题是,因为存储中文,印度语脚本和其他此类语言的内存需要超过1个字节,我将如何验证长度。
现在发生的事情是,用户输入了30个字符,并且显示“您不能输入超过50个字符”的显示消息。
解决方案我知道的是我可以增加数据库的大小或检查字节长度,但它似乎不是一个好主意。
你会采取什么方法来完成它?
答案 0 :(得分:3)
在数据库中使用nvarchar类型,它限制字符数而不是字节数。
答案 1 :(得分:3)
如果你的GUI在WinForms或WPF中,那么你应该能够在文本字段上设置一个最大长度,这样可以很好地阻止人们输入超过指定数量的字符,例如
myTextBox.MaxLength = 50
但您可以从VS Designer中设置它 - 选择文本框并转到其MaxLength属性
答案 2 :(得分:1)
如果您正在使用.Net和SQl Server的nvarchar字段,那么您应该没问题我认为。
Nvarchar无论如何都要为每个字符存储2个字节,因此应该容纳unicode字符串.net将传递给它没有问题。 (换句话说,如果你在数据库中使用Nvarchar,.Net和SQL中的长度都是用字符而不是字节来衡量的。)