DataGridView停止工作

时间:2012-01-01 16:20:57

标签: c# winforms datagridview

可能(并且希望)这是一个非常简单的问题,但我还没有找到答案。

我正在使用Windows窗体应用程序。我创建了一个包含三个表的数据库。在设计模式中,我插入了一个datagridview,选择了我想要显示的表,当我运行应用程序时,所有存储的数据都显示在网格中,就像我想要的那样。

我的问题是每当我触摸数据集或数据库时,与datagridview的连接都会停止工作,它不会加载任何数据。即使像解决方案资源管理器中的data.sdf双击一样简单,也会使连接消失,数据网格变为空。

当连接一旦被破坏后,我再也无法将其恢复到同一个项目中,所以我必须回到我保存的旧的“未感染”版本。

当我比较旧的工作版本和不工作版本时,我似乎无法找到代码中已更改的任何内容。我通读了DataSet代码,xsd文件,检查了datagrid的设置,但没有。从我所看到的情况来看,它看起来很像。

如果我不想编辑其中一个表(不是连接到网格的表)并添加我忘记的nvarchar,那么这不会是一个问题。但如果我改变了什么,连接就会丢失。

我的问题是因为;每当我更改数据库中的任何内容时,究竟是什么与datagridview的连接部分都会被破坏?我该怎么做才能解决这个问题?

简短摘要

我有一个数据库。我通过拖放添加了一个datagridview,它显示了表中的内容。它运作得很好。

但是只要我:

,连接就会停止工作,并且网格会变空
  1. 在资源管理器中双击数据库文件以显示其内容
  2. 删除/添加/编辑数据库中的任何表
  3. 再次运行DataSet向导以包含/排除表
  4. 按数据库,其表格或数据集上的“刷新”
  5. 通过这样做会破坏什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

我一直在努力,试图尝试实际上导致它停止工作的文件。 过了一会儿,我发现工作与否的区别在于数据库文件本身。如果我换回旧版,它就开始工作了。

我真的不记得我是如何得出这个结论的,但最后我意识到唯一可能的原因是数据库的调试版本和实际的项目版本没有“同步”。不要问我为什么或如何,但在我删除了两个文件并用同一个文件替换它们之后,所有问题都消失了。我可以更换表格,它永远不会失去连接。

根据我的理解,这必须是拉斯维加斯的某种类型的错误。干净重建除了手动删除和替换文件之后什么也没做,它开始重新开始工作。