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しか取得しません。

ここや他のサイトで多くのスレッドを読みましたが、ビューステート関数を使用してデータグリッド内のデータをキャッチする必要があるようです。しかし、私はその方法を本当に理解できないので、それを機能させることができません。

4

1 に答える 1

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();
  }
}
于 2013-10-24T09:20:03.577 に答える