На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> UpdateCommand , Проблема с обновлением базы данных
    Привет форумчане, вот нужна ваша, второй день мучаюсь не могу никак понять как можно обновить базу данных, без использования "первичных ключей" и запроса типа: "UPDATE * """"; Потому как нужно загружать любую базу данных в DatagridView изменять ее в гриде, и сохранять изменения в SQL.

    Вот код:

    ExpandedWrap disabled
                  
                  SqlDataAdapter sqldataadapter;
                  DataTable datatablesql;
       
                  string Connection = textBox1.text;
                  string Table = textBox2.text;
       
                  private void LoadDatatable()
                  {
                  SqlConnection sqlconnect = new SqlConnection();
                  sqlconnect.ConnectionString = Connection;
       
       
                      sqlconnect.Open();
                      sqldataadapter = new SqlDataAdapter("SELECT * FROM " + Table + "", sqlconnect);
                      datatablesql = new DataTable(); //источник данных DataTable
                      sqldataadapter.Fill(datatablesql);
                      SqlDataPlacer.DataSource = datatablesql; //соб-но сам грид;
                      sqlconnect.Close();
                   }
       
               private void SaveChanges_Click(object sender, EventArgs e)
              {
                 sqldataadapter.Update(datatablesql); //здесь сохраняем изменения сделанные в гриде в таблицу.
              }


    Ошибка следущая: Для обновления требуется действительный UpdateCommand при передаче коллекции DataRow с измененными строками.

    Самое интересное, сначала все работало, затем я зашел в базу данных и добавил новую колонку, все, на этом приплыли, дальше стала вылазить эта ошибка.
    Вопрос в том, как обновлять таблицу, не зная какие там данные изначально (чтобы работать с любыми базами можно было).
      Цитата Malcolm @
      как обновлять таблицу, не зная какие там данные изначально (чтобы работать с любыми базами можно было).

      Добавить первичный ключ.
        Цитата MIF @
        Добавить первичный ключ.


        Покажите как должен выглядеть в моем примере "первичный ключ".
          Зависит от БД. Во многих БД можно добавить к таблице автоинкерементное поле и зарегистррировать первичный ключ по етому полю.
            А если в базе данных не добавили к таблице первичного ключа, в таком случае как быть?
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0343 ]   [ 17 queries used ]   [ Generated: 16.04.24, 08:09 GMT ]