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

Вниз

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

 
Slaviq   (2002-08-16 15:52) [0]

Я пытаюсь в Query изменить данные, вроде как Query1.Insert
ReqestLive=true, в SQl написано select * from base order by Name
, а дельфин мне в ответ: read-only
убираю order by работает - это почему интересно????
Может есть выход, потому что мне надо еще и выборкой заниматься и группировкой, а ТТЭйбл не подходит!!
Всем ответившим огромная благодарность!


 
Lord Warlock ©   (2002-08-16 15:56) [1]

Редактироваь данные можно только в простых запросах. GroupBy OrderBy не подходят. Это написано в справке по ReqestLive


 
Leran2002 ©   (2002-08-16 15:58) [2]

Все правильно, Дельфин зря не матерится...
Попробуй сделать вторичный индекс по полю Name, и снова выполнить запрос...


 
Val ©   (2002-08-16 16:17) [3]

возьми на вооружение TUpdateSQL


 
slviq   (2002-08-16 16:32) [4]

1. И чего делать с UpdateSQL, я же ничего вроде не кэширую, и использовать кэш мне не зачем, базка малая сильно.
2. Может можно связать как-то Тейбл и Квєри Чтобы в при выборе в тейбл поля его изменять, а Квери сортировал и выбирал, то что должно находиться в Тейбл?, я тут пробовал - ничего не вышло :(


 
Val ©   (2002-08-16 16:40) [5]

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?


 
slaviq   (2002-08-16 17:01) [6]

Я чего-то индексы хронически не люблю, темболее, я же не только сортировать собираюсь, а и групировать СКЛ запросами, а с индексами возни слишком много и код огромный.

Подскажите как использовать ТUpdateSQl, а то я никогда его не использовал, и в справке я не нашел исчерпывающей инфы


 
Desdechado ©   (2002-08-16 18:15) [7]

Query.UpdateObject = UpdateSQL
Query.CachedUpdates = True - это не для работы с большими БД, а для кэширования изменений нередактируемых датасетов (твой случай)

после изменений - Query.ApplyUpdates
и не забудь про транзакции почитать :)


 
slaviq   (2002-08-16 23:09) [8]

Чегото не получается, пишет - 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-17 19:20) [9]

Base not in insert or edit mode - перед изменением записи делай qry.Edit

а вообще ты что-то смешал все в кучу :)
изменения считанных данных проводит юзер в локальном кэше (для любого кол-ва записей), потом жмет "сохранить", после чего ApplyUpdates - перенос изменений в базу

пример
C:\PROGRAM FILES\BORLAND\DELPHI5\DEMOS\DB\CACHEDUP\


 
Sirus ©   (2002-08-18 08:13) [10]

Используй SQL и никаких DataControls и DataSource...
Обычными TEdit и т.д. Получается лучше... Да и один TQuery можно использовать для нескольких различных запросов...
А главное голова не болит от всех связей между TQuery и DataControls....
insert into TABLE1, update TABLE1 set FIELD1=X



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
7-14310
kerrik
2002-06-27 00:13
2002.09.05
Как выключить компьютер под Win2000 (NT,XP)


4-14344
ReYka
2002-06-28 12:19
2002.09.05
Как перехватить запуск любого приложения? И еще...


1-14054
Alex Y
2002-08-27 07:21
2002.09.05
Вставка ComboBox в DrawGrid


1-13989
Mr.Kirya
2002-08-25 22:34
2002.09.05
Панель


7-14314
Олег_В
2002-06-22 02:31
2002.09.05
Как приостановить систему