【问题标题】:Suspected faulty error: DataGridView Column exceeds the MaxLength limit疑似故障错误:DataGridView Column 超出 MaxLength 限制
【发布时间】:2013-08-08 20:55:56
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 真的谢谢你救了我的命
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      在创建“备注”列时,您指定了要使用的类型。
      我自己使用varChar(maxStringLenth)

      为了更有效地帮助您,您能否提供一些有关您的 dataGrid 和 DataBase 的更多技术信息

      【讨论】:

      • 列是varchar(5000),应该也绰绰有余。我已经把它改成了最大值,SQL Server 说是 8000,没有任何改变。我使用绑定的数据集来填充 DGV,并将其用作程序信息检索功能的一部分。你还有什么想知道的吗?我已经写下了我认为与该问题相关的所有内容
      • 请问您是否可以编辑您的帖子并添加一些包含的代码。你也使用过你使用 SQL 调用的数据源向导吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      相关资源
      最近更新 更多