Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-33541
VISA
2003-08-29 12:58
2003.09.11
Проиграть wav в фоновом режиме


1-33658
Ryabinin Grisha
2003-08-30 05:07
2003.09.11
Линейный график


1-33632
tgdgdfg
2003-08-30 20:05
2003.09.11
Сортировка в TreeView


1-33628
Безымянный проситель
2003-08-29 20:31
2003.09.11
Удаление кнопки


1-33554
Le!
2003-08-29 08:59
2003.09.11
Рисунок на рабочем столе!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский