使用Datagridview C#更新MySql数据库

本文关键字:MySql 数据库 更新 Datagridview 使用 | 更新日期: 2023-09-27 18:26:22

我遇到了一个问题:每当用户添加新行或更改其中的一些Text时,我都试图更新MySql数据库。是否有"自动更新"数据库的方法?

我尝试了以下代码,但不起作用:

代码

private MySqlDataAdapter da;        // Data Adapter
private DataSet ds;                 // Dataset
try
{
  MySqlConnection conn = new MySqlConnection(
           "datasource=localhost;port=3306;username=root;password=123");
  conn.Open();
  MySqlCommandBuilder cmb = new MySqlCommandBuilder(da);
  da.Fill(ds);
  da.Update(ds);                
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
   MessageBox.Show(ex.Message);
}

提前谢谢!

使用Datagridview C#更新MySql数据库

我自己找到了答案:

代码

string connStr = "datasource=localhost;port=3306;username=root;password=Achilles44";
MySqlConnection conn = new MySqlConnection(connStr);
try
{
    string sql = "select *from test.edata ;";
    MySqlDataAdapter da = new MySqlDataAdapter(sql,conn);
    MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
    MySqlCommand cmd = new MySqlCommand();
    cmd.Connection = conn;
    cmd.CommandText = sql;
    MySqlCommand insertCmd =cb.GetInsertCommand().Clone();
    insertCmd.CommandText = insertCmd.CommandText +";SELECT last_insert_id() AS id";
    insertCmd.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord;
    da.InsertCommand = insertCmd;
    cb.DataAdapter = null;
    DataTable dt = new DataTable();
    da.Fill(dt);
    DataRow row = dt.NewRow();
    row["Familienname"] = " Schischka";
    row["Eid"] = 7;
    row["Vorname"] = "Hannes";
    row["age"] = "20";
    dt.Rows.Add(row);
    da.Update(dt);
    conn.Close();


}
catch(Exception ex)
{
    MessageBox.Show(ex.Message);
}

只有一个问题没有得到回答:有没有一种更简单的方法来"自动更新"表,或者这是谁工作的唯一方法?提前感谢!