Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Dbgrid   Найти похожие ветки 

 
ploxish ©   (2003-10-27 10:41) [0]

Как выделенную запись в DBgrid удалить из базы данных при нажатии кнопки.


 
DenK_vrtz ©   (2003-10-27 10:44) [1]

DBGrid1.DataSource.DataSet.Delete

только еще не факт, что она удалится из таблицы :)


 
Anatoly Podgoretsky ©   (2003-10-27 10:46) [2]

Нет это факт, она не удалится из таблицы
Нужны будут допольнительно методы упаковки, у разных баз по разному.


 
ploxish ©   (2003-10-27 10:50) [3]

выдает следущее "Cannot delete" from dataset (no delete query)..." нужно еще sql запрос сделать?


 
DenK_vrtz ©   (2003-10-27 10:54) [4]

ploxish © (27.10.03 10:50) [3], не описано правило удаления данных в данном dataset

Anatoly Podgoretsky © (27.10.03 10:46) [2], бывает и
DBGrid1.DataSource.DataSet.Delete хватает для удаления данных, но это редкость :)


 
Anatoly Podgoretsky ©   (2003-10-27 10:56) [5]

DenK_vrtz © (27.10.03 10:54) [4]
Назови хоть одну из распространеных баз, где бы запись физически удалялась из таблицы по DataSet.Delete
Естественно я не сомневаюсь, что среди не распространеных возможно такое и есть, хотя сильно сомневаюсь.


 
DenK_vrtz ©   (2003-10-27 11:01) [6]

Anatoly Podgoretsky © (27.10.03 10:56) [5], например
1.СУБД - Oracle
2.SQLPASSTHRU MODE=SHARED AUTOCOMMIT
3.На удаляемой таблице не висит никаких ограничений на удаление
(триггера, процедуры, вторичные ключи)
4.Используемый DataSet - TTable

удалится без всяких проблем


 
ploxish ©   (2003-10-27 11:01) [7]

да но нельзя же написать заранее в IBQuery delete from .. where ...


 
Term ©   (2003-10-27 11:06) [8]

просветите может я что не так понимаю, в dbf да при Table1.delete запись помечается на удаление, и её можно вернуть к жизни если потребуется, а чтобы удалить намертво то пакануть таблицу нужно.
В Парадоксе вроде удаляется сразу как я знаю и востановить незя, но на её месте остаётся остается пустое место в файле, и нужно паковать таблицу чтобы упорядочить структуру, и избавиться от этих дыр.
Если я гдето обшибся скажите где...


 
Term ©   (2003-10-27 11:07) [9]


> Назови хоть одну из распространеных баз, где бы запись физически
> удалялась из таблицы по DataSet.Delete

это я вот к чему


 
DenK_vrtz ©   (2003-10-27 11:12) [10]

Anatoly Podgoretsky © (27.10.03 10:56) [5], опять же что считать "ФИЗИЧЕСКИМ" удалением?
В том же ORACLE, после того как сделан commit и данные удаленые из сегментов отката, можено, испоьзуя системные журналы, восстановить данные на определенный период.


 
ploxish ©   (2003-10-27 11:23) [11]

Уважаемые мастера так как же сделать удаление записи ...


 
Vlad ©   (2003-10-27 11:34) [12]

выдает следущее "Cannot delete" from dataset (no delete query)..." нужно еще sql запрос сделать?
Сам же ошибку привел ?
Неужели неясно что нужно сделать ?


 
DenK_vrtz ©   (2003-10-27 11:35) [13]

Vlad ©, у него клавиша F1 заедает :)


 
Val ©   (2003-10-27 11:39) [14]

>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;


 
Anatoly Podgoretsky ©   (2003-10-27 11:40) [15]

Term © (27.10.03 11:06) [8]
В Парадоксе тоже запись не удаляется из таблицы, восстановить в отличии от dBase ее нельзя, для физического удаления надо использовать dbiDoRestructure. В IB для этого надо делать Backup/Restore

Слишком это жестоко удалять запись из таблицы, практически все базы просто помечают ее как удаленую.


 
Vlad ©   (2003-10-27 11:43) [16]

>Anatoly Podgoretsky © (27.10.03 11:40) [15]
Запутаете автора :)
Ведь дейсвительно подумает что на кнопку нужно Backup/Restore делать :)


 
panov ©   (2003-10-27 11:59) [17]

>ploxish © (27.10.03 11:23) [11]

DELETE FROM ....


 
DenK_vrtz ©   (2003-10-27 12:17) [18]

Val ©,
>а если выполнить truncate table? :) По-моему - все, никакого роллбека.:)

роллбека нет, это точно! Но для одной записи truncate не сделаешь :)


 
Term ©   (2003-10-27 12:28) [19]


> выдает следущее "Cannot delete" from dataset (no delete
> query)..." нужно еще sql запрос сделать?

вопрос на засыпку а ты у TIBDataset свойство DeleteSQL прописал????


 
Anatoly Podgoretsky ©   (2003-10-27 12:30) [20]

Вот только в Vlad © (27.10.03 11:34) [12]
он догадался привести сообщение об ошибке, но не догадался ему последовать.


 
Val ©   (2003-10-27 12:32) [21]

>Term © (27.10.03 12:28) [19]
очень врядли


 
Term ©   (2003-10-27 12:36) [22]

вот в этом и причина, а из всего выше написанного он скорее всего мало что понял, раз такую мелочь упустил


 
ploxish ©   (2003-10-27 15:24) [23]

delete from mytable where ???? а как я могу узнать поле
его же надо вытащить из Dbgrid


 
Sandman25 ©   (2003-10-27 15:26) [24]

[23] ploxish © (27.10.03 15:24)

Срочно прочтите любую книгу по Delphi и БД.



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.03 c
3-56478
pashtet
2003-10-28 16:21
2003.11.17
Оптимизация запросов в IB


1-56705
Maxon
2003-11-07 12:28
2003.11.17
Как управлять Windows Media Player


3-56446
Kinder
2003-10-28 20:01
2003.11.17
ошибка Update где?


3-56473
СержК
2003-10-30 08:19
2003.11.17
Не могу законнектиться к БД


7-56935
alexm
2003-09-06 11:09
2003.11.17
Как работать с USB портом