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

Вниз

Обновление данных   Найти похожие ветки 

 
Lamer_of_Delphi ©   (2003-08-20 13:29) [0]

Здравствуйте,
подскажите как обновить данные получаемые SQL запросом при удалении одной из записей с помощью UpdateSQL?


 
Digitman ©   (2003-08-20 13:36) [1]

как это так


> при удалении одной из записей с помощью UpdateSQL


??

UpdateSQL подразумевает UPDATE-предложение, а не DELETE-предложение.

Для удаления же записей используется DeleteSQL.


 
DenK_vrtz ©   (2003-08-20 13:39) [2]

как вариант просто переоткрыть запрос (close, open)

Digitman © (20.08.03 13:36) [1], он наверно имел ввиду компонент UpdateSQL :-)


 
Lamer_of_Delphi ©   (2003-08-20 13:42) [3]

UpdateSQL - компонента с закладки БДЕ ))), у него есть свойсто DeleteSQL вот с помощью его и удаляем: данные физически удаляются, но в Гриде не обновляются...


 
DenK_vrtz ©   (2003-08-20 13:45) [4]

1.ApplyUpdates
2.Close
3.Open


 
Lamer_of_Delphi ©   (2003-08-20 13:48) [5]

2DenK_vrtz:
Это самое простое)))... не устраивает неужели нельзя по другому как нибудь?


 
Zacho ©   (2003-08-20 13:50) [6]

Да все должно обновляться. Просто TUpdateSQL надо подключить к соответствующему TQuery, и удалять запись - Query.Delete;


 
Digitman ©   (2003-08-20 13:57) [7]


> данные физически удаляются, но в Гриде не обновляются...


разумеется) ... ведь грид никак не связан с НД, участвующим в операции удаления.

грид связан с SELECT-запросом, возвращающим некую выборку на момент запроса. Для того объекта, что реализующет у тебя Select-запрос и передает НД через DataSource в DBGrid, в общем случае после модификации можно выполнить просто метод Refresh.


 
Lamer_of_Delphi ©   (2003-08-20 13:57) [8]

Я удаляю: UpdateSQL3.Apply(ukDelete);
сам запрос в UpdateSQL1.DeleteSQL...и не обновляется в принципе Close-Open помогает но это помоему нерационально....хотя если ничего не придумаем придется его использовать, правда должно быть какоето другое решение)))


 
Lamer_of_Delphi ©   (2003-08-20 14:02) [9]

2Digitman:

Query1.Refresh - таблица не поддерживает эту операцию т.к. она не индексирована(((9


 
Zacho ©   (2003-08-20 14:05) [10]


> Lamer_of_Delphi © (20.08.03 13:57) [8]

Как делать правильно:
Берем TQuery и TUpdateSQL. В св-ве TQuery.UpdateObject указываем это TUpdateSQL. Удалить текущую запись - Query.Delete;
И все будет работать без всяких Close; Open;


 
Lamer_of_Delphi ©   (2003-08-20 14:11) [11]

2Zacho:
1. Я так и делел...
2. Меня просто не правильно поняли, данные то обновляются - они не обновляются в Гриде)))


 
Vlad ©   (2003-08-20 14:14) [12]

Что значит не обновляются в гриде ???
Хочешь сказать что запись из базы удаляется а в гриде остается ?
Ха... Если так, то читай Zacho © (20.08.03 14:05) [10] , причем внимательнее.
И никаких UpdateSQL3.Apply(ukDelete) !!!


 
Lamer_of_Delphi ©   (2003-08-20 14:18) [13]

2Vlad:
Да именно это и хочу сказать, в компонентах все настроено правильно.....лана придется воспользоваться Close-Open? если ни у кого больше нет идей(((


 
Vlad ©   (2003-08-20 14:21) [14]

Если хочешь извращнуться, попробуй после удаления вызвать метод Resync DataSet"a.


 
Vlad ©   (2003-08-20 14:32) [15]

А вобще, ребяты, я не понимаю, как так, если запись удаляется из ДатаСета, то она соотв. должна пропадать и из грида.
Если же удалять минуя датасет, напр. как сказано выше UpdateSQL3.Apply(ukDelete), то спрашивается чего же вы хотите ? Естественно придется делать Close Open.
По другому никак...


 
Lamer_of_Delphi ©   (2003-08-20 14:39) [16]

2Vlad:
Ну вот вопрос и разрешился однозначно - Close-Open...Всем Tnx


 
GSV_ ©   (2003-08-20 14:41) [17]

Можен нужно еще
Query1.CashedUpdate:=true
...
изменение/удаление/вставка через Грид (все обновляется сразу)
...
Запомнить->Query1.ApplyUpdates


 
Lamer_of_Delphi ©   (2003-08-20 14:55) [18]

2GSV:
Без Query1.CashedUpdate:=true - UpdateSQL вообще работать не будет)))


 
DenK_vrtz ©   (2003-08-20 14:58) [19]

хитрО все у нас,Господи, главное чтобы никто не догадался!



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

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

Наверх




Память: 0.51 MB
Время: 0.022 c
7-33824
rex
2003-06-26 10:45
2003.09.11
Запуск приложения IntraWeb до входа в систему


4-33845
Mishenka
2003-07-11 17:49
2003.09.11
Вопрос про ShellExecute и др.


1-33556
Adoon
2003-08-28 18:04
2003.09.11
Character Map


3-33449
Silla
2003-08-20 13:16
2003.09.11
Grid от QuantumGrid


1-33640
WASYA
2003-08-31 10:17
2003.09.11
InstallShield