powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Из БД не удаляются строки
8 сообщений из 8, страница 1 из 1
Из БД не удаляются строки
    #34578029
Roman Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я обращаюсб к БД через ODBC (SQL запрос: SELECT * FROM Table LIMIT 50)
Методом Fill я заполняю объект DataSet: objDA.Fill(objDS, "Tbl");
objDS заполняестся правильно. Затем мне надо все извлеченные строки удалить из БД.
Я пытаюсь это сделать так:
objDS.Tables["Tbl"].Clear();
objDS.Tables["Tbl"].AcceptChanges();
objDA.Update(objDS."Tbl");
В результате исключений не возникает, но и строки не удаляются. В таблице нет первичного ключа, поэтому объектом OdbcCommandBuilder воспользоваться нельзя.
Я пробовол также вызывать метод Delete для каждой строки в objDS, резутльтат - нулевой.
И всё же возможно ли в objDS (тип DataSet) как-то пометить строки, а затем удалить их из БД?

Другой вариант у меня тоже не проходит:
я в objDA заполняю свойство DeleteCommand (запрос: DELETE * FROM Table LIMIT 50),
затем вызваю objDA.Update(objDS."Tbl");
Не получаеися предположительно из за того, что я не указываю параметры:
objDA.DeleteCommand.Parameters.Add()
Но тут вроде бы и не нужны параметры...
Подскажите, где ошибка в первом и втором вариантах.
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34578080
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если попробовать запустить это DELETE * FROM Table LIMIT 50
не из вашего клиента, чего скажет?
что за БД кстати? mysql?
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34578868
Roman Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
winsky!а если попробовать запустить это DELETE * FROM Table LIMIT 50
не из вашего клиента, чего скажет?
что за БД кстати? mysql?

Да, это MySQL. Но в каком смысле не из моего клиента? Просто у меня нет опыта работы с БД через ADO.NET. Я пробовал откомпилировать прогу, бзз SELECT, сразу выполняя DELETE,
но функция Update просит в качестве параметра DataSet, в котором должна уже быть таблица.
И я считаю, что надо вызвать objDA.DeleteCommand.Parameters.Add(), но не знаю с какими параметрами.
И, вообще, желательно не вызывать DELETE, а в DataSet пометить строки, которые должны быть удалены и вызвать Update. Но как это сделать? С С какими параметрами?
HELP!!!
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34578903
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во-первых, зачем их помещать в датасет, если нежно из удалить?

авторНо в каком смысле не из моего клиента?
ну у мускла есть же какие-то утилиты для отладки запросов(надеюсь)? вот там и попробуйте запустить это свое DELETE * FROM Table LIMIT 50, что-то мне говорит, что это кривая команда, хотя я и не знаток mySQL
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34578907
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще
авторВ таблице нет первичного ключа
- как по мне, так таблица без пк - ваще не таблица.
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34578915
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если нежно из удалить?
читать как "если нужно их удалить"

с пальцАми чего-то стало.
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34579127
Roman Zarubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
winsky!во-первых, зачем их помещать в датасет, если нежно из удалить?

авторНо в каком смысле не из моего клиента?
ну у мускла есть же какие-то утилиты для отладки запросов(надеюсь)? вот там и попробуйте запустить это свое DELETE * FROM Table LIMIT 50, что-то мне говорит, что это кривая команда, хотя я и не знаток mySQL
DELETE * FROM Table LIMIT 50 работает. ПРОВЕРЕНО!!!
Таблицу без первичного ключа создавал не я, но работать мне надо
именно с такой таблицей :(
HELP!!!!!
...
Рейтинг: 0 / 0
Из БД не удаляются строки
    #34580102
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так напишите


Код: plaintext
1.
command.CommandText = "DELETE * FROM Table LIMIT 50";
command.ExecuteNonQuery();

нафик вы в датасет их тянете?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Из БД не удаляются строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]