我有一个问题:每当用户添加新的Row或更改其中的某些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);
}
只有一个问题没有得到答案:是否有一种更简单的方法来“自动更新”表,或者这是唯一可行的方法?先感谢您!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句