0

我正在尝试将 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 函数来捕获数据网格中的数据。但我只是无法真正理解它是如何工作的,因此我无法让它发挥作用。

4

1 回答 1

0

我知道回答这个问题可能最终什么都不做。您很可能不了解 a 的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();
  }
}
于 2013-10-24T09:20:03.577 回答