【问题标题】:Datagridview to datatable数据网格视图到数据表
【发布时间】:2013-10-23 21:13:58
【问题描述】:

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

【问题讨论】:

  • 既然你提到了Viewstate,它是不是一个ASP.NET GridView 而不是一个winforms DataGridView?您在回发时尝试在哪里访问数据源?
  • 你能把代码贴出来吗?
  • 我已经用我使用的代码更新了这个问题。我还检查了 5099673 链接,但就是想不通。
  • 它是我正在使用的winform dataGridView。你能解释一下你的回发是什么意思吗?我到处都在读这个,只要我明白,这就是问题所在。问题只是不明白这个的真正作用……

标签: c# winforms datagridview datatable


【解决方案1】:

我知道回答这个问题最终可能什么都不做。您很可能不了解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();
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多