C# Winforms控件-DataGridView-更新数据库

C# Winforms控件-DataGridView-更新数据库,c#,mysql,winforms,datagridview,sql-update,C#,Mysql,Winforms,Datagridview,Sql Update,我正在使用的程序是WAMP服务器及其mysql特性,特别是MS Visual Studio 2010,我正在用C编程 基本上,这里是我需要的,目前可以做我的应用程序 在整个项目中,我有几个datagridview,第一个很简单,它只需按下一个按钮即可从数据库中的特定表加载所有数据。我有另一个表单,我可以插入记录,并设法创建了一个delete函数,该函数要求用户输入两个字段first name和last name,然后将它们放入查询并执行命令 我需要做什么 我需要能够为表单实现某种方式来更新数据库

我正在使用的程序是WAMP服务器及其mysql特性,特别是MS Visual Studio 2010,我正在用C编程

基本上,这里是我需要的,目前可以做我的应用程序

在整个项目中,我有几个datagridview,第一个很简单,它只需按下一个按钮即可从数据库中的特定表加载所有数据。我有另一个表单,我可以插入记录,并设法创建了一个delete函数,该函数要求用户输入两个字段first name和last name,然后将它们放入查询并执行命令

我需要做什么

我需要能够为表单实现某种方式来更新数据库。我选择通过datagridview控件来实现这一点,这样用户可以在编辑时看到他们正在编辑的内容

我有下面的代码,我试图根据datagridview控件中的数据更新数据库


方法中列出的这段代码的问题显然是,虽然可以修改网格,但它无法将数据传递回数据库。

您应该做的是用空表更新数据库。 i、 获取数据源。喜欢 二,。更新/同步数据源和数据适配器 这是它应该工作的代码,如果没有请评论并告诉我问题

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();

为什么要更新空表?bindingsource或数据源的名称是什么?我更喜欢用代码进行绑定,这样更新更容易。我有一个按钮,可以从数据库检索数据并填充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);
    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();