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

Вниз

Вопрос про 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.005 c
4-1197982219
p_evghenii
2007-12-18 15:50
2008.10.19
Как при выключении Windows выполнить какое-либо приложение?


15-1216905772
diploDocs
2008-07-24 17:22
2008.10.19
Два сюрприза Microsoft


15-1220028990
DevilDevil
2008-08-29 20:56
2008.10.19
Соотношение сторон монитора. Потестируйте, пожалуйста.


2-1221476875
Int23
2008-09-15 15:07
2008.10.19
Как получить компонент над котором движется мышь


2-1221116374
vegarulez
2008-09-11 10:59
2008.10.19
Как маскировать символ находящийся в текстовой строке?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский