我以这种方式在我的应用程序中使用数据绑定:
textBox1.Databindings.Add(new Binding("Text", myObject, "myObjectField"));
当数据库中的字段是 varchar 类型时,一切正常。然后字段的大小由我定义。问题是当数据库中的字段是文本或 ntext 字段时。数据库说这个字段(文本,ntext)的大小等于 16,然后 textBox1.MaxLength 是 16 导致故障工作。
我应该怎么做才能解决这个问题?
当您将 nvarchar 作为具有预定义大小的数据类型时,它将分配那么多内存意味着固定长度而不是 varchar 是可变长度...所以我的观点是,如果您知道您的取字段不超过您定义的字符大小,然后使用nvarchar 或者如果你需要 unicode 支持,否则当你没有信心时使用 varchar
没有错误。例如:我在 db 中有一个包含两个字段的表。其中一个是“名称”(varchar(255)),另一个是“desc”(文本)。在 C# 代码中绑定后,文本框“名称”可以正常工作,但不能绑定到“desc”字段。实际上表单上的文本框绑定到“desc”,我只能写 16 个字符的字符串,然后我不能超出这个字段。请帮忙 ;)
编辑:对不起,我解决了这个问题。问题是我在 myObject.value 中设置了最大长度。删除后,绑定工作正常。感谢您的回答。