怀疑有错误的错误:DataGridView Column超出了MaxLength限制

时间:2013-08-08 20:55:57

标签: vb.net visual-studio-2010 datagridview textbox maxlength

我目前有一个工作程序,它在运行时给我一个无害但恼人的错误。我有一个DataGridView,显示SQL表的选择内容,目前只包含一个条目。我在该表中有一个名为“Notes”的列,它被设计为一个相对较大的文本数据存储空间;用户需要能够在单个文本框字段中键入和存储详细注释。我的一条记录在该列中的条目是(根据Word)长度为690个字符(带空格),但在查看声称列超过MaxLength限制的DataGridView时收到错误。我在设计时手动将该限制(MaxInputLength属性)设置为2147483647,这显然远高于690,但错误仍然存​​在。

我不确定我的DGV问题是什么,因为690个字符在存储方面不是什么大问题。有人能指出这个错误的根本问题吗?提前谢谢!

3 个答案:

答案 0 :(得分:2)

转到数据集并更改字段maxLength属性。这会手动覆盖数据集的过期信息。这不需要丢失表配置。

答案 1 :(得分:1)

事实证明,这个错误背后的罪魁祸首是我的程序数据集与实际数据库之间缺乏沟通。当我最初收到错误时,我留下了我在数据库中输入的文本数据,更改了DataGridView中行的大小容差,并重建了我的程序。但是,数据集未更新以反映大小更改 - 数据集与数据库之间的通信已关闭,因为错误已经发生。换句话说,数据集不会自我更新以“保护”自身(即使这不是必需的)。

我通过在设计师中重新绑定我的DGV解决了这个问题。我将DGV的数据源属性设置为none,删除了连接附带的三个适配器,并删除了我的旧数据集。一切都清楚后,我重新建立了数据连接(使用相同的连接字符串),错误消失了。我希望这可以帮助任何遇到同样问题的人 - 那些DGV是偷偷摸摸的。

答案 2 :(得分:0)

创建“注释”列时,您指定了哪种类型供其使用 我自己使用varChar(maxStringLenth)

另外,为了更有效地帮助您,您可以提供有关dataGrid和DataBase的更多技术信息