0

Есть метод

private void dataGuests_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
    MySqlConnection conn = new MySqlConnection(connStr);
    string SqlQuery = "select * from guests ORDER BY id DESC;";
    MySqlDataAdapter adapter = new MySqlDataAdapter(SqlQuery, connStr);
    DataSet DS = new DataSet();

    try
    {
        conn.Open();               
        adapter.Update(DS, "guests");
        //adapter.Fill(DS, "LoadDataBinding");
    }
    catch (MySqlException ex)
    {
        MessageBox.Show("Error: " + ex);
    }
    finally
    {
        conn.Close();
    }
}

При запуске приложения ругается на:

Необработанное исключение типа "System.InvalidOperationException" в System.Data.dll.
Дополнительные сведения: Операции Update не удалось найти TableMapping["guests"] или DataTable "guests".

Прочитал это, но конструктор выбирает все данные из этой же таблицы и заливает их в Grid. Причём корректно. Проверил в таблице PRIMARY KEY - в наличии.

Прошу направить заблудшего странника

p4sh
  • 197
  • Почитайте http://professorweb.ru/my/ADO_NET/base/level2/2_4.php , по опыту скажу - на простые вопросы сообщество RU SO перестало отвечать, к сожалению (хотя главная цель любого SO - помощь людям), постарайтесь разобраться своими силами. – Align Oct 06 '16 at 21:44
  • 4
    Вы создали пустой датасет. Естественно, в нём нет таблицы guests. – Alexander Petrov Oct 06 '16 at 22:01
  • вы создали пустую таблицу DataSet, но ничего в неё не положили – Garrus_En Apr 10 '17 at 05:41

1 Answers1

-1

Не

MySqlDataAdapter adapter = new MySqlDataAdapter(SqlQuery, connStr);

а

MySqlDataAdapter adapter = new MySqlDataAdapter(SqlQuery, conn);
andreycha
  • 25,167
  • 4
  • 46
  • 82