使用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);
}
提前谢谢!
我自己找到了答案:
代码
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);
}
只有一个问题没有得到回答:有没有一种更简单的方法来"自动更新"表,或者这是谁工作的唯一方法?提前感谢!