Главная страница
    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.005 c
9-1174711886
beginerProger
2007-03-24 07:51
2008.10.19
Проблема с класом движка


3-1208243417
andreoman
2008-04-15 11:10
2008.10.19
создать вручную список статических полей


2-1221147485
Weeeetch
2008-09-11 19:38
2008.10.19
Требуется подсказка


15-1219802795
Slider007
2008-08-27 06:06
2008.10.19
С днем рождения ! 27 августа 2008 среда


2-1221290498
@!!ex
2008-09-13 11:21
2008.10.19
Как добавить пункт меню в контекстное меню Explorer a





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