我正在尝试将dataGridView连接到数据表但我无法使其工作。这是我的代码:
public void ToDatabase(string Database, string Table, DataTable Datatable)
{
string query = "SELECT * FROM `" + Database + "`.`" + Table + "`;";
if (this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
adapter.Update(Datatable);
this.CloseConnection();
}
}
private void buttonUpdateData_Click(object sender, EventArgs e)
{
MySqlBinding mb = new MySqlBinding();
DataTable dt = new DataTable();
dt = dataGridViewSql.DataSource as DataTable;
mb.ToDatabase("SystemData", "SystemClientData", dt);
}
但我只得到NULL。
我在这里和其他网站上已经阅读了很多线程,看起来我应该使用viewstate函数来捕获datagrid中的数据。但我真的无法理解如何,因此我无法让它发挥作用。
答案 0 :(得分:0)
我知道回答这个问题可能最终无所作为。很有可能您无法理解DataAdapter
在ADO.NET
中的工作原理。我只是尝试发布此代码供您测试,如果不起作用,则表示您的代码严重错误:
public void ToDatabase(string Database, string Table, DataTable Datatable) {
string query = "SELECT * FROM `" + Database + "`.`" + Table + "`;";
if (this.OpenConnection()) {
MySqlDataAdapter adapter = new MySqlDataAdapter(query, connection);
MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);
adapter.Update(Datatable);
this.CloseConnection();
}
}