Форум: "Базы";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c