2011-09-29 53 views
0

有一天,我开始使用Windows窗体在C#.NET中开发一个项目,自从我上次使用Windows窗体以来已经有一段时间了,所以我感觉有点生锈。MySQL和C#.NET DataGridView,更新,插入和删除

首先,我应该指出,我使用Visual C#2010 Express,它不具有GUI向导对数据绑定的支持(当然,如果您喜欢MS Access或本地存储的数据库文件),我需要与一个MySQL数据库,并使其与DataGridView相得益彰。

我的问题源于我无法弄清楚如何更新和删除的事实。我发现的大多数在线资源似乎只是指运行数据绑定向导,这是我无法做到的事情(因为我正在运行Visual C#2010 Express)。现在

,我已经能够没有任何重大问题(使用MySqlDataAdapter,一个BindingSourceDataTable),但是当我尝试使用MySqlDataAdapter.Update(<DataTable>)什么也没有发生,选择数据库中的数据。

我假设我需要做一些设置工作,通常是用“只使用向导”进行手动移除。那么,有没有人有我需要做的更新,插入和删除操作的简单示例?无论是否存储过程,这两种方式都很好(尽管我最终可能会在完成的程序中使用已存储的过程)。

+0

这些链接可能会有所帮助: http://stackoverflow.com/questions/1518946/how-to-insert-delete-select-update-values-in-datagridview-in-c-using-mysql http://stackoverflow.com/questions/4663632/c-insert-and-update-content-to-datagridview-do-not-work http://stackoverflow.com/questions/832874/sqldataadapter-update-doesnt-work –

+0

我已经看过这两个,并尝试了几个小时,以使我的代码行为,它没有。令人讨厌的部分是没有例外或其他,它只是没有做任何事情。所以是的,我已经尝试建立一个'UpdateCommand',我试着调用'EndEdit()',我试过了,它只是不起作用。但选择工作得很好,虽然... – mludd

回答

2

我建议你不要在VS工具箱中使用这些DragDroppable DataAdapter或BindingSources,只需在不同的项目中正确地分层分配项目,每个项目都有自己的问题,如数据访问,业务逻辑和演示(GUI)。

看到我的答案在这里:MVC3 and Entity Framework

,如果你有一个坚实的分层/平方米,三层架构,你会发现,数据管理逻辑只属于数据访问层和UI只是要问需要什么通过业务逻辑。

+0

+1 - 如上所述。因为你使用Windows窗体并不意味着你应该忘记体面的体系结构的基础知识。您可以将您的数据网格绑定到任何集合类型 - 因此列表就足以填充数据网格。然后,您可以在数据层中编写逻辑以执行数据库更新等。 – ChrisBD

+0

谢谢,这实际上是我最终做的,我写了一堆我自己的代码。它可能不符合MS的最佳实践的想法,但它的工作... – mludd