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