簡體   English   中英

C#Winforms控件-DataGridView-更新數據庫

[英]C# Winforms control - DataGridView - Update Database

我使用的程序是WAMP服務器(尤其是它的mysql功能)和MS Visual Studio 2010,我正在C#中進行編程

基本上,這是我需要的,並且目前可以與我的應用程序一起使用。

我在整個項目中都有幾個datagridview ,第一個很簡單,只需按一下按鈕,它就可以從數據庫的特定表中加載所有數據。 我有另一種形式,可以插入記錄,並設法制作了一個刪除功能,該功能要求用戶輸入2個字段(名字和姓氏),然后將其放入查詢並執行命令。

我需要做什么?

我需要能夠為表單實現某種方式來更新數據庫。 我選擇通過datagridview控件執行此操作,以便用戶在編輯時可以看到他們正在編輯的內容。

我有以下代碼,我嘗試根據datagridview控件中的數據更新數據庫。

string connString = "server=localhost;User Id=root;database=collegelist;";
MySqlConnection conn = new MySqlConnection(connString);
string selectSQL = "SELECT * FROM collegeemployee";
conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter(selectSQL, conn);
MySqlCommandBuilder builder = new MySqlCommandBuilder(da);
DataTable table = new DataTable(); 
try
{
    dgView2.Rows.RemoveAt(dgView2.CurrentRow.Index);
    da.Update(table);
}
catch (Exception exceptionObj)
{
    MessageBox.Show(exceptionObj.Message.ToString());
}

這段代碼(顯然是在方法中列出)的問題是,雖然可以修改網格,但無法將數據傳遞回數據庫。

而不是使用空表更新數據庫,您應該做的是。 i。獲取數據源。 像ii。 更新/同步數據源和數據適配器這是應該工作的代碼,如果不行,請注釋並告訴我問題。

string connString = "server=localhost;User Id=root;database=collegelist;";
MySqlConnection conn = new MySqlConnection(connString);
string selectSQL = "SELECT * FROM collegeemployee";
conn.Open();
MySqlDataAdapter da = new MySqlDataAdapter(selectSQL, conn);
MySqlCommandBuilder builder = new MySqlCommandBuilder(da);
    BindingSource BindingSourceToUpdate = (BindingSource)dgView2.DataSource; // because direct casting to data table was failing in VS2o1o

                 try
                {
    dgView2.Rows.RemoveAt(dgView2.CurrentRow.Index);

                    da.Update((DataTable)BindingSourceToUpdate.DataSource);
                }
                catch(exception)
                 {
                 }
conn.close();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM