如何验证字段长度

时间:2010-03-15 11:41:42

标签: c# .net database globalization

我在数据库中有一个Abc字段,我想确保用户不超过数据库中字段的限制,因此我使用的验证表明“你不能输入超过50个字符”。

现在的问题是,因为存储中文,印度语脚本和其他此类语言的内存需要超过1个字节,我将如何验证长度。

现在发生的事情是,用户输入了30个字符,并且显示“您不能输入超过50个字符”的显示消息。

解决方案我知道的是我可以增加数据库的大小或检查字节长度,但它似乎不是一个好主意。

你会采取什么方法来完成它?

3 个答案:

答案 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中的长度都是用字符而不是字节来衡量的。)

相关问题