Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/76: Рейтинг темы: голосов - 76, средняя оценка - 4.99
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
1

Требуется действительный DeleteCommand

11.04.2010, 21:52. Показов 14044. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. Помогите с проблемой сохранения.
Создал приложение по инструкции с msdn. Добавляю данные, нажимаю кнопку сохранить на BildingNavigator данные успешно сохраняються. Все отлично. Но если теперь эти данные удалить кнопкой Удалить на BildingNavigator и нажать на кнопку сохранить то выходит ошибка: Для обновления требуется действительный DeleteCommand при передаче коллекции DataRow с удаленными строками.
и кампилятор указывает на строчку
C#
1
this.tableAdapterManager.UpdateAll(this.dbDataSet);
Не могу понять с чем это связано читал справочные материалы, не помогает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2010, 21:52
Ответы с готовыми решениями:

Не удаляются строки из таблицы - требуется действительный DeleteCommand
в проекте при удалении из таблици ненужной строки вылетает сообщение типа: Для элемента Update...

Для элемента Update требуется действительный DeleteCommand
Дополнительные сведения: Для элемента Update требуется действительный DeleteCommand при передаче...

Для элемента update требуется действительный deletecommand
Доброго времени суток! Возникла следующая проблема, при работе с SqlDataAdapter. Я прописал...

"Для элемента Update требуется действительный DeleteCommand" при удалении строки из БД
При попытке удалить строку из базы данных acces выдает такую ошибку Для элемента Update требуется...

7
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
12.04.2010, 00:43 2
каждый tableAdapter имеет четыре типа команд (SelectCommand, InsertCommand, UpdateCommand и DeleteCommand). В каждом из этих параметров прописывается запрос либо хранимая процедура.
Таким образом в Вашем случае отстутствует текст в DeleteCommand.
Ну и у меня обновление происходит при помощи this.tableAdapter.Update(this.dbDataSet.table).
0
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 6
06.02.2011, 12:06 3
У меня выходит такая же ошибка. Так и не понял где в теле основной программы прописывать команду Delete для tableAdapterManager? Да и как она описывается? В учебниках только общее описание - что они команды Deleted, Update и Insert в tableAdapterManager есть и всё.

Добавлено через 1 час 1 минуту
Нашёл такой участок кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
internal global::System.Data.SqlClient.SqlConnection Connection {
            get {
                if ((this._connection == null)) {
                    this.InitConnection();
                }
                return this._connection;
            }
            set {
                this._connection = value;
                if ((this.Adapter.InsertCommand != null)) {
                    this.Adapter.InsertCommand.Connection = value;
                }
                if ((this.Adapter.DeleteCommand != null)) {
                    this.Adapter.DeleteCommand.Connection = value;
                }
                if ((this.Adapter.UpdateCommand != null)) {
                    this.Adapter.UpdateCommand.Connection = value;
                }
                for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) {
                    if ((this.CommandCollection[i] != null)) {
                        ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value;
                    }
                }
            }
        }
если это он то почему не удаляется внесённая и сохранённая запись?

Добавлено через 9 минут
Точно - без первичного ключа в самой базе не удаляет. Хотя зачем он таблице, в которой не будет использоваться?
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.02.2011, 12:13 4
Цитата Сообщение от Алексей Чай Посмотреть сообщение
Точно - без первичного ключа в самой базе не удаляет.
При автоматизированном создании запросов (для SelectCommand, InsertCommand, UpdateCommand и DeleteCommand) средствами CommandBuilder одним из условий является наличие в запросе Select ключевого столбца

Добавлено через 1 минуту
Цитата Сообщение от Алексей Чай Посмотреть сообщение
Хотя зачем он таблице, в которой не будет использоваться?
В таком случае придется всего-лишь вручную написать все запросы обновления
0
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 78
22.04.2016, 16:34 5
nio, вот наткнулся на эту тему. хотелось бы спросить где и как прописать запросы на обновление и удаление. Хотелось бы еще и код.
0
6048 / 3457 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
24.04.2016, 11:43 6
Цитата Сообщение от PolKulo Посмотреть сообщение
где и как прописать запросы
запросы прописываются в адаптере. При проектировании в графическом редакторе, делается в свойствах адаптера за несколько кликов мышью
0
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 78
25.04.2016, 01:53 7
nio, спасибо большое! все получилось. Вот еще хочу спросить. Если конечна вы меня правильно поймете. В общем когда создал саму базу установил сохранение. но вводимые данные(которые ввожу при запущенной программе) не сохраняются в dbo.table. Но они сохраняются просто при запуске а куда это все сохраняется я что то не понимаю. Скрин я прикрепил. Конечно плохо объясни но может поймете меня.
Миниатюры
Требуется действительный DeleteCommand  
0
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 78
25.04.2016, 02:14 8
nio, Сам в общем разобрался куда сохраняет.
0
25.04.2016, 02:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2016, 02:14
Помогаю со студенческими работами здесь

При удалении столбца возникает ошибка "Для обновления требуется действительный DeleteCommand"
приложение отсоединено работает с бд через sqldataAdapter и DataSet. есть две кнопки обновить и...

Datagridview не сохраняется в базу: требуется действительный InsertCommand
Я сделала приложение-анкету, информация из TextBox и RadioButton сохраняется в datagridview, по...

Для обновления требуется действительный UpdateCommand при передаче коллекции DataRow с измененными строками
Есть задание &quot;Рассмотрим следующую информацию об «обитателях» зоопарка: – о животных живущих в...

Ошибка при обновлении данных "Для обновления требуется действительный UpdateCommand"
Народ, помогите! Непонятно почему, при обновлении базы данных вдруг появилось сообщение &quot;Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru