Обновите таблицу базы данных с изменениями, внесенными в DataTable - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь обновить столбец и удалить строку, следующую за ним, в DataTable, извлеченном из таблицы sql, всякий раз, когда столбец равен значению, и тот же столбец в строке, следующей за ним, начинается с другого значения.

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ConnectionString);
        SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from tbl_Copy_Journal", con);
        DataSet Journals = new DataSet();
        adapter.Fill(Journals, "tbl_Copy_Journal");
        foreach (DataTable table in Journals.Tables)
        {
            for (int i = 0; i < Journals.Tables[0].Rows.Count; i++)
            {
                String action = Journals.Tables[0].Rows[i]["Action"].ToString();
                if (action == "reading dispensed")
                {

                    String action1= Journals.Tables[0].Rows[i+1]["Action"].ToString();
                    if (action1.StartsWith("Referred"))
                    {

                        String _Action = Journals.Tables[0].Rows[i]["Action"].ToString() + ", " + Journals.Tables[0].Rows[i + 1]["Action"].ToString();
                        Journals.Tables[0].Rows[i + 1].Delete();
                        Journals.Tables[0].Rows[i]["Action"] = _Action;
                    }
                    adapter.Update(Journals, "tbl_Copy_Journal");
                    Journals.AcceptChanges();
                }


            }
        }

Код возвращает Для обновления требуется допустимая команда UpdateCommand при передаче коллекции DataRow с измененными строками .Есть ли способ удалить и обновить строки в datatable и исправить этот код.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 11 мая 2018

Вы исправляете это, делая то, что они просят.Укажите UpdateCommand .

...