MySQL 和 C#.NET DataGridView、更新、插入和删除
Posted
技术标签:
【中文标题】MySQL 和 C#.NET DataGridView、更新、插入和删除【英文标题】:MySQL and C#.NET DataGridView, Updates, Inserts and Deletes 【发布时间】:2011-09-29 09:24:53 【问题描述】:前几天我开始使用 Windows 窗体在 C#.NET 中进行项目,距离我上次使用 Windows 窗体已经有一段时间了,所以我感觉有点生疏了。
首先我应该指出,我正在使用 Visual C# 2010 Express,它不支持数据绑定的 GUI 向导(如果您喜欢 MS Access 或本地存储的数据库文件,它确实支持),我需要与mysql 数据库并使其与 DataGridView 配合使用。
我的问题源于我不太清楚如何进行更新和删除。我发现的大多数在线资源似乎只是指运行数据绑定向导,这是我无法做到的(因为我正在运行 Visual C# 2010 Express)。
现在,我已经能够从数据库中选择数据而没有任何重大问题(使用 MySqlDataAdapter
、BindingSource
和 DataTable
)但是当我尝试使用 MySqlDataAdapter.Update(<DataTable>)
时没有任何反应。
我假设我需要做一些设置工作,这些工作通常作为“只使用向导”而被手动放弃。那么,有没有人有一个简单的例子来说明我需要做什么才能进行更新、插入和删除?有或没有存储过程,两种方式都很好(尽管我最终可能会在完成的程序中使用存储过程)。
【问题讨论】:
这些链接可能会有所帮助:***.com/questions/1518946/…***.com/questions/4663632/…***.com/questions/832874/… 我已经查看了这两个并尝试了几个小时以使我的代码正常运行,但事实并非如此。烦人的部分是没有例外之类的,它什么都不做。所以是的,我试过设置UpdateCommand
,我试过打电话给EndEdit()
,我都试过了,就是不行。但是选择工作得很好......
【参考方案1】:
我建议您不要使用 VS Toolbox 中的那些 DragDroppable DataAdapter 或 BindingSources,只需将您的项目适当地分层到不同的项目中,每个项目都有自己的关注点,例如数据访问、业务逻辑和演示 (GUI)。
在这里查看我的答案:MVC3 and Entity Framework
如果您拥有可靠的分层/m 层架构,您会发现数据管理逻辑仅属于数据访问层,而 UI 只需询问通过业务逻辑需要什么。
【讨论】:
+1 - 如上所述。仅仅因为您使用的是 Windows 窗体并不意味着您应该忘记体面架构的基础知识。您可以将数据网格绑定到任何集合类型 - 因此 List以上是关于MySQL 和 C#.NET DataGridView、更新、插入和删除的主要内容,如果未能解决你的问题,请参考以下文章
用C#.net连接MYSQL,怎么连接?还要安装啥吗?急!!!