Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView停止工作_C#_Winforms_Datagridview - Fatal编程技术网

C# DataGridView停止工作

C# DataGridView停止工作,c#,winforms,datagridview,C#,Winforms,Datagridview,也许(并且希望)这是一个非常简单的问题,但我还没有找到答案 我正在使用Windows窗体应用程序。我创建了一个包含三个表的数据库。在设计模式中,我插入了一个datagridview,选择了我想要显示的表,当我运行应用程序时,所有存储的数据都显示在网格中,就像我想要的一样 我的问题是,每当我触摸数据集或数据库时,与datagridview的连接就会停止工作,它不会加载任何数据。即使双击解决方案资源管理器中的data.sdf这样简单的操作也会使连接消失,datagrid变为空 当连接一旦断开,我就再

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

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

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

当连接一旦断开,我就再也无法在同一个项目中恢复它,所以我必须回到我保存的“未受感染”的旧版本

当我比较旧的工作版本和不工作的版本时,我似乎找不到代码中有任何更改。我通读了数据集代码,xsd文件,检查了datagrid的设置,但什么都没有。据我所见,它看起来非常相似

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

因此,我的问题是:;每当我更改数据库中的任何内容时,与datagridview的连接的哪一部分会断开?我该如何解决这个问题

简短摘要

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

但只要我:

  • 双击资源管理器中的数据库文件以显示其内容
  • 删除/添加/编辑数据库中的任何表
  • 再次运行数据集向导以包括/排除表
  • 在数据库、其表或数据集上按“刷新”

  • 这样做会破坏什么?我该如何修复它?

    我一直在努力,试图试验到底是什么文件导致它停止工作。 过了一会儿,我发现工作与否的区别在于数据库文件本身。如果我换回一个旧的,它就开始工作了

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


    据我所知,这一定是维加斯的某种类型的臭虫。执行干净的重建没有任何作用,但在手动删除和替换文件后,它又开始工作了。

    我一直在努力,试图试验到底是什么文件导致它停止工作。 过了一会儿,我发现工作与否的区别在于数据库文件本身。如果我换回一个旧的,它就开始工作了

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


    据我所知,这一定是维加斯的某种类型的臭虫。执行干净的重建没有任何作用,但在手动删除和替换文件后,它又开始工作了。

    是否有可能使用Linq to sql或实体框架…因为它比在WinFrom中使用数据集更具灵活性…我认为这是可能的(尽管我从未听说过它),只是这是一个非常简单和容易的开始编程和数据库的方法(我对这个很陌生)。因此,如果我能继续使用Windows窗体,那就太好了。我只是想知道是否有人知道我写的东西会破坏连接的哪一部分,以及是否有一个简单的修复方法。在开始使用另一个框架之前,我觉得我有足够的时间学习,但无论如何,谢谢你。你可以使用EF的Windows窗体,Linq2Sql或大多数其他或映射程序。是否有可能使用Linq-to-sql或实体框架…因为它提供了更大的灵活性,而不是在winfroms中使用数据集…我认为这是可能的(尽管我从未听说过),只是这是一种非常简单的编程和数据库入门方法(我对这个很陌生)。因此,如果我能继续使用Windows窗体,那就太好了。我只是想知道是否有人知道我写的东西会破坏连接的哪一部分,以及是否有一个简单的修复方法。我觉得在开始使用另一个框架之前,我有足够的知识可以学习。但是无论如何,谢谢你。你可以使用Windows表单使用EF、Linq2Sql或大多数其他或映射程序。