Delphi 2007无法使用源代码修改beforescroll事件中的数据,错误:数据集不在编辑或插入模式下

时间:2011-06-24 05:50:48

标签: delphi listbox delphi-2007 dbgrid

一点历史: 我有一个包含textt描述的DBlistbox,我只将它的代码存储在一个显示在dbgrid中的mysql表中。用户可以选择多个选项,我喜欢处理这些选项并在其中一列中以逗号分隔值存储(此列在dbgrid中不可见)。

现在,当用户使用事件Afterscroll和Formcreate滚动dbgrid时,我可以填充列表框。但是当我尝试处理列表并更新dbrgid后面的myquery时,我得到一个错误,说“数据集不在编辑或插入模式” - 我在beforescroll中执行此操作

请帮忙!! 我尝试在更改之前将数据集设置为编辑模式,然后在数据发布后尽快发布dbgrid似乎有趣的字符

1 个答案:

答案 0 :(得分:1)

如果我说得对,那么DBListBox没有连接到网格中的数据集?这可以解释为什么在更改DBListBox中的数据时网格的数据集未设置为编辑模式。

无论如何,每当您更改必须进入mysql表的数据时,都应该将此数据集切换到编辑模式。然后,您可以将逗号分隔值的编码放入OnBeforePost事件中。

当数据集滚动而不对列表框的数据进行任何更改时,无需存储任何数据。这是通过上述方法实现的,因为没有编辑模式在这种情况下不会触发BeforePost事件。