![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Query [D6, Paradox]
Slaviq © (2002-08-16 15:52:00)Я пытаюсь в Query изменить данные, вроде как Query1.Insert
ReqestLive=true, в SQl написано select * from base order by Name
, а дельфин мне в ответ: read-only
убираю order by работает - это почему интересно????
Может есть выход, потому что мне надо еще и выборкой заниматься и группировкой, а ТТЭйбл не подходит!!
Всем ответившим огромная благодарность!
Sirus (2002-08-18 08:13:00) [1]Используй SQL и никаких DataControls и DataSource...
Обычными TEdit и т.д. Получается лучше... Да и один TQuery можно использовать для нескольких различных запросов...
А главное голова не болит от всех связей между TQuery и DataControls....
insert into TABLE1, update TABLE1 set FIELD1=X
Desdechado (2002-08-17 19:20:00) [2]Base not in insert or edit mode - перед изменением записи делай qry.Edit
а вообще ты что-то смешал все в кучу :)
изменения считанных данных проводит юзер в локальном кэше (для любого кол-ва записей), потом жмет "сохранить", после чего ApplyUpdates - перенос изменений в базу
пример
C:\PROGRAM FILES\BORLAND\DELPHI5\DEMOS\DB\CACHEDUP\
slaviq (2002-08-16 23:09:00) [3]Чегото не получается, пишет - Base not in insert or edit mode!
Я уже задолбался, целый день колупаться в этих хелпах,
главное обидно, что из по хелпу про кэш понял %5-6 :(((
Может кините готовый примерчик состоящий из:
Форма, ДБГрид-ДатаСэт-Квери2, Квери1
Квери1 (update base kol=kol+2)
Квери2 (select * from base order by Name)
Кнопка1 - Апдейтит СКЛ в Квери1
Кнопка2 - Делает выборку
Пршу нисчесть за нахальство, просто устал, ничего не понял,
и в обиде на самого себя и Дельфин!
Всем спасибо!!!
Desdechado (2002-08-16 18:15:00) [4]Query.UpdateObject = UpdateSQL
Query.CachedUpdates = True - это не для работы с большими БД, а для кэширования изменений нередактируемых датасетов (твой случай)
после изменений - Query.ApplyUpdates
и не забудь про транзакции почитать :)
slaviq (2002-08-16 17:01:00) [5]Я чего-то индексы хронически не люблю, темболее, я же не только сортировать собираюсь, а и групировать СКЛ запросами, а с индексами возни слишком много и код огромный.
Подскажите как использовать ТUpdateSQl, а то я никогда его не использовал, и в справке я не нашел исчерпывающей инфы
Val (2002-08-16 16:40:00) [6]1.Description
Use a TUpdateSQL object to provide SQL statements used to update read-only datasets represented by TQuery or TStoredProc components when cached updates are enabled.
2. а почему собственно не устраивает использование вторичного индекса и TTable?
slviq (2002-08-16 16:32:00) [7]1. И чего делать с UpdateSQL, я же ничего вроде не кэширую, и использовать кэш мне не зачем, базка малая сильно.
2. Может можно связать как-то Тейбл и Квєри Чтобы в при выборе в тейбл поля его изменять, а Квери сортировал и выбирал, то что должно находиться в Тейбл?, я тут пробовал - ничего не вышло :(
Val (2002-08-16 16:17:00) [8]возьми на вооружение TUpdateSQL
Leran2002 (2002-08-16 15:58:00) [9]Все правильно, Дельфин зря не матерится...
Попробуй сделать вторичный индекс по полю Name, и снова выполнить запрос...
Lord Warlock (2002-08-16 15:56:00) [10]Редактироваь данные можно только в простых запросах. GroupBy OrderBy не подходят. Это написано в справке по ReqestLive