![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Dbgrid [D7, IB6.x]
ploxish © (2003-10-27 10:41:00)
Как выделенную запись в DBgrid удалить из базы данных при нажатии кнопки.
Sandman25 (2003-10-27 15:26:00) [1]
[23] ploxish © (27.10.03 15:24)
Срочно прочтите любую книгу по Delphi и БД.
ploxish (2003-10-27 15:24:00) [2]
delete from mytable where ???? а как я могу узнать поле
его же надо вытащить из Dbgrid
Term (2003-10-27 12:36:00) [3]
вот в этом и причина, а из всего выше написанного он скорее всего мало что понял, раз такую мелочь упустил
Val (2003-10-27 12:32:00) [4]
>Term © (27.10.03 12:28) [19]
очень врядли
Anatoly Podgoretsky (2003-10-27 12:30:00) [5]
Вот только в Vlad © (27.10.03 11:34) [12]
он догадался привести сообщение об ошибке, но не догадался ему последовать.
Term (2003-10-27 12:28:00) [6]
> выдает следущее "Cannot delete" from dataset (no delete
> query)..." нужно еще sql запрос сделать?
вопрос на засыпку а ты у TIBDataset свойство DeleteSQL прописал????
DenK_vrtz (2003-10-27 12:17:00) [7]
Val ©,
>а если выполнить truncate table? :) По-моему - все, никакого роллбека.:)
роллбека нет, это точно! Но для одной записи truncate не сделаешь :)
panov (2003-10-27 11:59:00) [8]
>ploxish © (27.10.03 11:23) [11]
DELETE FROM ....
Vlad (2003-10-27 11:43:00) [9]
>Anatoly Podgoretsky © (27.10.03 11:40) [15]
Запутаете автора :)
Ведь дейсвительно подумает что на кнопку нужно Backup/Restore делать :)
Anatoly Podgoretsky (2003-10-27 11:40:00) [10]
Term © (27.10.03 11:06) [8]
В Парадоксе тоже запись не удаляется из таблицы, восстановить в отличии от dBase ее нельзя, для физического удаления надо использовать dbiDoRestructure. В IB для этого надо делать Backup/Restore
Слишком это жестоко удалять запись из таблицы, практически все базы просто помечают ее как удаленую.
Val (2003-10-27 11:39:00) [11]
>DenK_vrtz © (27.10.03 11:12) [10]
а если выполнить truncate table? :) По-моему - все, никакого роллбека.:)
>ploxish © (27.10.03 11:23) [11]
DenK_vrtz © (27.10.03 10:44) [1] + commit;
DenK_vrtz (2003-10-27 11:35:00) [12]
Vlad ©, у него клавиша F1 заедает :)
Vlad (2003-10-27 11:34:00) [13]
выдает следущее "Cannot delete" from dataset (no delete query)..." нужно еще sql запрос сделать?
Сам же ошибку привел ?
Неужели неясно что нужно сделать ?
ploxish (2003-10-27 11:23:00) [14]
Уважаемые мастера так как же сделать удаление записи ...
DenK_vrtz (2003-10-27 11:12:00) [15]
Anatoly Podgoretsky © (27.10.03 10:56) [5], опять же что считать "ФИЗИЧЕСКИМ" удалением?
В том же ORACLE, после того как сделан commit и данные удаленые из сегментов отката, можено, испоьзуя системные журналы, восстановить данные на определенный период.
Term (2003-10-27 11:07:00) [16]
> Назови хоть одну из распространеных баз, где бы запись физически
> удалялась из таблицы по DataSet.Delete
это я вот к чему
Term (2003-10-27 11:06:00) [17]
просветите может я что не так понимаю, в dbf да при Table1.delete запись помечается на удаление, и её можно вернуть к жизни если потребуется, а чтобы удалить намертво то пакануть таблицу нужно.
В Парадоксе вроде удаляется сразу как я знаю и востановить незя, но на её месте остаётся остается пустое место в файле, и нужно паковать таблицу чтобы упорядочить структуру, и избавиться от этих дыр.
Если я гдето обшибся скажите где...
ploxish (2003-10-27 11:01:00) [18]
да но нельзя же написать заранее в IBQuery delete from .. where ...
DenK_vrtz (2003-10-27 11:01:00) [19]
Anatoly Podgoretsky © (27.10.03 10:56) [5], например
1.СУБД - Oracle
2.SQLPASSTHRU MODE=SHARED AUTOCOMMIT
3.На удаляемой таблице не висит никаких ограничений на удаление
(триггера, процедуры, вторичные ключи)
4.Используемый DataSet - TTable
удалится без всяких проблем
Anatoly Podgoretsky (2003-10-27 10:56:00) [20]
DenK_vrtz © (27.10.03 10:54) [4]
Назови хоть одну из распространеных баз, где бы запись физически удалялась из таблицы по DataSet.Delete
Естественно я не сомневаюсь, что среди не распространеных возможно такое и есть, хотя сильно сомневаюсь.