问题描述
Vb2005,Winform數據庫中的字段為varchar(20),文本框最大長度設為20,可是如果用户输入20个中文时,长度没有发生任何变化,可是它却占用了40个字节,也就是说根本无法插入到数据库中去,請問該如何限制,即可以輸入中文也可以輸入英文,也可以中英混合,請大家不要保留,多多指教,謝謝
解决方案
解决方案二:
把数据库字段和文本框最大长度加大不就行了吗
解决方案三:
你不用设置文本框的maxlength为20。你可以在文本框的keypress事件中控制,如下代码仅供参考:PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPressSelectCaseAsc(e.KeyChar)Case8,13'过滤掉一些特殊的键,比如backspace之类的非字符键。ExitSubEndSelectDimlenbyte()AsByte=System.Text.Encoding.Default.GetBytes(Me.TextBox1.Text&e.KeyChar)Iflenbyte.Length>20Thene.Handled=TrueEndIfEndSub
解决方案四:
允许出现中文的字段要用nvarchar类型,这是最根本的解决方法。许多教材都是从外文著作翻译过来的,人家不存在双字节字符的问题,所以不会介绍nvarchar。
解决方案五:
謝謝ConanKid和Tiger_Zhao兩位
时间: 2024-09-19 09:15:01