Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];

Вниз

Вопрос про Grid, Table, Query (ZeosDBO)   Найти похожие ветки 

 
vegarulez ©   (2008-09-15 13:41) [0]

Привет всем мастерам.
Использую БД и компонеты ZeosDBO. Для отображения в DBGrid использую TZtable. Вопрос можно ли TZtabl`ом отобразить данные в гриде в обратном порядке? (т.е. допустим order by `id` DESC)
Или лучше всё же для грида в этом случае использовать Zquery?


 
Sergey13 ©   (2008-09-15 13:46) [1]

> [0] vegarulez ©   (15.09.08 13:41)

> Использую БД и компонеты ZeosDBO
Крута!

> Или лучше всё же для грида в этом случае использовать Zquery?

Лучше. И грид тут совсем не при чем.


 
vegarulez ©   (2008-09-15 13:55) [2]

Ёмко. Чем?


 
Jeer ©   (2008-09-15 14:07) [3]


> Вопрос можно ли


Для начала почитай о различиях в стандартных компонентах TTable и TQuery, способах сортировки выборки, визуализации сортировки и т.п.
Глядишь многие вопросы отпадут.


 
vegarulez ©   (2008-09-15 14:17) [4]

ок. хорошо. Наверно я так полагаю из-за занимаемой памяти и т.п.
Ладно прочту.
Вопрос 2.
Делаю

...
ZQuery2.SQL.Text:="select * from `a` order by `id` desc"
...

DataModule2.ZQuery2.Active:=true;
DataModule2.ZQuery2.Refresh;
DBGrid1.SetFocus;
DBGrid1.Refresh;
DBGrid1.SelectedField.Index:=0;


в первый раз становится на нулевую ячейку. Второй раз остаётся на ней же... хотя в таблице новая запись появляется после Insert`a, но неё не переходит. нид хелп.


 
Sergey13 ©   (2008-09-15 15:50) [5]

> [4] vegarulez ©   (15.09.08 14:17)

А какой собственно реакции ты ждешь?

> хотя в таблице новая запись появляется после Insert
Какого Insert?

> но неё не переходит
А должен?

Ты все таки почитай сначала про кверики. С ними можно работать практически как тейблами, потому что они то-же датасеты. Но имеются и отличия, поэтому слепое копирование методов работы не всегда приемлемо.


 
vegarulez ©   (2008-09-15 18:50) [6]

Почитаю в обяз, но сечас некогда. чесна.

...
ZQuery1.SQL.Text:="insert into `a`...;
ZQuery1.ExecSql;
...
ZQuery2.SQL.Text:="select * from `a` order by `id` desc"
ZQuery2.Open;
...

DataModule2.ZQuery2.Active:=true;
DataModule2.ZQuery2.Refresh;
DBGrid1.SetFocus;
DBGrid1.Refresh;
DBGrid1.SelectedField.Index:=0;

Я добавляю запись, и потому обновляю грид, она (новая запись появляется в гриде) и я хочу выделение переместить автоматически на самую первую запись. но после добавления следующей записи, после рефреша курсор остаётся на той записи на которой был т.е. уже получается на 2-ой. а в гриде появляется боковой скрол и первая запись она как бы вообще за гридом сверху :( Пока мышкой скролл вверх не переместишь и не встанешь мышь на неё...


 
Sergey13 ©   (2008-09-16 08:28) [7]

> [6] vegarulez ©   (15.09.08 18:50)
> Я добавляю запись

Каким образом? Можно отдельным запросом Insert, а можно методом датасета Insert. Во втором случае ничего не надо ни переоткрывать ни позиционировать.


 
vegarulez ©   (2008-09-16 10:17) [8]

Отдельным запросом. Это не суть важно.
В гриде записи тоже после этого должны обновиться так как грид привязан на Query то после каждого инзерта делаю

ZQuery2.SQL.Text:="select * from `a` order by `id` desc"
ZQuery2.Open;


как и писал выше. и обновляю грид. вопрос всё тот же. как попасть на самую верхнюю запись.


 
Sergey13 ©   (2008-09-16 10:27) [9]

> [8] vegarulez ©   (16.09.08 10:17)
> Это не суть важно.

Это принципиально важно.

> В гриде записи тоже после этого должны обновиться
Если дожны, то почему не обновляются?


 
ЮЮ ©   (2008-09-16 10:59) [10]

Чтобы текущей записью стала его первая запись достаточно выполнить его метод First.

Обычно, после Open именно первая запись и является текущей.
Если это не так, то значит в коде, скрытом за ... ты где-то перемещаешься по НД.


> ZQuery2.Open;
> ...
>
> DataModule2.ZQuery2.Active:=true;
> DataModule2.ZQuery2.Refresh;


если это один и тот же Zquery, зачем столько танца с бубнами?



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

Форум: "Начинающим";
Текущий архив: 2008.10.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
15-1219916607
Медвежонок Пятачок
2008-08-28 13:43
2008.10.19
Сервер приложений ПО "Контакт"


2-1221475446
Demo_nik
2008-09-15 14:44
2008.10.19
координаты ячейки BDE


2-1221401730
Виталион
2008-09-14 18:15
2008.10.19
Запустить приложение и считать информацию


2-1221212975
Alex_C
2008-09-12 13:49
2008.10.19
Установить формат даты и времени


2-1221417830
Johnnnn
2008-09-14 22:43
2008.10.19
Как присвоить свою процедуру к TInternetExplorer.OnDocumentComple





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский