![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление строк из таблицы [D6, IB6.x]
Дмитрий К. © (2003-09-23 15:03:00)
Всем доброго времени суток !
Вот такой вопрос:
Есть IB датабаза. Через SQL запрос объединяю две таблицы и вывожу данные в DBGridEh.
Отмечаю selectom нужные строки и выполняю DBgridEh1.SelectedRows.Delete, но начинается ругань-
"Can not delete from dataset(No delete query)". Где это Query нужно прописать?
Буду признателен за ответ.
Vlad (2003-09-23 18:00:00) [1]
>MsGuns © (23.09.03 17:57) [11]
Думаю, излишне. Вариант с CachedUpdates вполне нормальный.
MsGuns (2003-09-23 17:57:00) [2]
TClientDataSet
NickBat (2003-09-23 16:10:00) [3]
>Так мне надо удалить не саму запись из базы, а только строку
>из DBGridEh. Таблицы базы из которых берутся данные трогать
>не нужно.
Может в консерватории что-то подправить? В смысле хелп почитать?
Это еще хорошо, что тебе ошибку выдало, а если бы все прошло успешно и удалились записи из БД, а ты "только строку из таблицы" хотел удалить?
Johnmen (2003-09-23 16:04:00) [4]
А в DBGridEh нет строк. Как это не печально...:)
kaif (2003-09-23 15:56:00) [5]
Тогда нужно включить режим CachedUpdates = True, прописать любую хрень, похожую на SQL-запрос, в свойство DeleteSQL и вперед.
Свойство DeleteSQL есть у TIBDataSet. Можно подключить компонент IBUpdateSQL к IBQuery (свойство IBQuery.UpdatObject) и уже в
IBUpdateSQL.DeleteSQL написать какой-нибудь запрос, например,
select * from rdb$database. Он все равно не сработает, пока не вызовешь AppplyUpdates. А вот этого вызывать не надо.
Дмитрий К. (2003-09-23 15:34:00) [6]
Так мне надо удалить не саму запись из базы, а только строку из DBGridEh. Таблицы базы из которых берутся данные трогать не нужно.
kaif (2003-09-23 15:18:00) [7]
Используй IBDataSet, а не IBQuery. Там все запросы можно прописать. Удалять запись, ясное дело, придется из какой-то одной таблицы. Что не исключает, правда, какое-угодно сложное объединение в SelectSQL. Там еще RefreshSQL имеется. Он для текущей строки.
DenK_vrtz (2003-09-23 15:17:00) [8]
Никогда не работал с DBGridEh, но если в запросе объединены данные из двух таблиц необходимо описать обработчик для удаления
SergK (2003-09-23 15:10:00) [9]
Ну, правильно, как же она тебе delete query сделает, если выборка делается из двух таблиц?
stud (2003-09-23 15:10:00) [10]
компонент Updatesql
Дмитрий К. (2003-09-23 15:08:00) [11]
А конкретнее ?
Val (2003-09-23 15:06:00) [12]
это не в Query надо прописать, а в книжке почитать...про нередактируемые НД.