Datagridview到数据表

时间:2013-10-23 21:13:58

标签: c# winforms datagridview datatable

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

1 个答案:

答案 0 :(得分:0)

我知道回答这个问题可能最终无所作为。很有可能您无法理解DataAdapterADO.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();
  }
}