![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
База какая?