Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TQuery - ORDER BY


lesstab ©   (2011-07-16 14:27:00) 

Божемо! Неужели, когда сортируеш набор данных запросом вроде "..ORDER BY Class", станет невозможным редактировать его ?!


Anatoly Podgoretsky   (2011-07-17 00:53:00) [1]

> Jeer  (16.07.2011 23:59:13)  [13]

Парадокс это было ключевой фишкой Борланда, и естественно, что оно (TQuery)
под него и делалось. Но и от него Борланд в первую очередь и избавился.


Loginov Dmitry   (2011-07-17 00:14:00) [2]

Я сказал ровно столько, сколько сказал. Незачем искать подвох, особенно если его нет.


Jeer   (2011-07-16 23:59:00) [3]


> не является категоричной. Ключевое слово - "обычно".


Т.е. TQuery заточен под Paradox, так надо понимать ?
Если его ( TQuery ) обычноиспользуют именно с недо-СУБД Paradox ?


Loginov Dmitry   (2011-07-16 22:09:00) [4]


> Не болтай категоричности !


Фраза


> > Компонент TQuery обычно используют при работе с парадоксом.


не является категоричной. Ключевое слово - "обычно".


Jeer   (2011-07-16 21:10:00) [5]


> Компонент TQuery обычно используют при работе с парадоксом.


Ну да, вот все прям так и используют исключительно с Paradox.
Не болтай категоричности !


Loginov Dmitry   (2011-07-16 19:53:00) [6]


> Но, после добавления новой записи снова приходится сортировать.


Это нормально.


> Какими бы СУБД я не пользовался, инструменты для программирования
> все те же, не правда ли?


Пока я вижу, что используется именно Paradox. В нем свои особенности, свой SQL (который "Local"), свои баги. Компонент TQuery обычно используют при работе с парадоксом.
Все-таки Paradox - не СУБД. Это древняя технология начала (или середины) 90-х гг. Пользы от ее изучения на сегодняшний момент практически нет.


sniknik   (2011-07-16 16:43:00) [7]

> инструменты для программирования все те же
нет

> Кроме того моя БД не так уж и большая.
ну так выбери для небольшой, но новую... пусть более менее, но не ту, что  в прошлом веке бросили развивать.
например access/sqlite/FireBird personal(embeded)/....


lesstab   (2011-07-16 16:13:00) [8]


> Наиболее популярные СУБД в России: MS SQLSever, FireBird,
>  Oracle

Какими бы СУБД я не пользовался, инструменты для программирования все те же, не правда ли?

Кроме того моя БД не так уж и большая.


lesstab   (2011-07-16 16:09:00) [9]


> Loginov Dmitry ©  

По Вашему совету использовал UPDATESQL. Вот:

   if formSubjEdit.ModalResult = mrOk then
   begin
      datamodul.qrySubject.Post;
      datamodul.qrySubject.ApplyUpdates;
      datamodul.qrySubject.CommitUpdates;

   end;

   if formSubjEdit.ModalResult = mrCancel then
   begin
       datamodul.qrySubject.Cancel;
       datamodul.qrySubject.CancelUpdates;
   end;

Работает. С точки зрения пользовательского удобства, замечательно.
Но, после добавления новой записи снова приходится сортировать.

(*    datamodul.qrySubject.Close;
   datamodul.qrySubject.SQL.Clear;
   datamodul.qrySubject.SQL.Add('SELECT * FROM Predmet ORDER BY Klass');
   datamodul.qrySubject.Open;
*)


Loginov Dmitry   (2011-07-16 15:47:00) [10]


> На данный момент могу так:


Я вам рекомендую не заниматься баловством с парадоксом, а изучать нормальные СУБД. Да Парадокс и в наши дни преподают в университетах. Но этому имеется простое объяснение:
1) методические указания по программированию разработаны давно и их лень менять;
2) специалисты крайне редко преподают программирование, на это попросту нет времени. В основном этим занимаются преподаватели, не имеющие к программированию никакого отношения или же специалисты пенсионного возраста.
Наиболее популярные СУБД в России: MS SQLSever, FireBird, Oracle, однако имеются и другие. Возьмите за основу одну из них и займитесь ее изучением. Проще всех в плане изучения - MS SQLSever, поскольку имеется огромный объем русскоязычной документации (он больше, чем у всех известных СУБД вместе взятых).


Anatoly Podgoretsky   (2011-07-16 15:29:00) [11]

Твоя проблема, что ты застрял в прошлом веке со знаменитовым на всю галактику Парадоксом.


lesstab   (2011-07-16 15:14:00) [12]

На данный момент могу так:

-ОТМЕНИТЬ СОРТИРОВКУ;
-ДОБАВИТЬ (ИЗМЕНИТЬ) ЗАПИСЬ;
-ПОСТИТЬ;
-СНОВА СОРТИРОВАТЬ;


Loginov Dmitry   (2011-07-16 15:12:00) [13]


> станет невозможным редактировать его ?!


Да, это особенность TQuery. Чему тут удивляться? "Живые" курсоры с TQuery - это скорее исключение, чем правило. Если запрос сложный, включает несколько таблиц или содержит сортировку по неключевому полю, то курсор перестает быть сделать "живым", т.е. связь с таблицей теряется, используется кэширование. Используйте компонент TUpdateSQL. Его можно привязать к  TQuery и задать SQL-запросы для DeleteSQL, InsertSQL, ModifySQL.


lesstab   (2011-07-16 15:05:00) [14]

ПАРАДОКС - БДЕ


Inovet   (2011-07-16 14:48:00) [15]

UPDATE INSERT DELETE

База какая?


Наверх

Титульная страница Поиск, карта сайта Написать письмо