2011-09-29 105 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