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

Вниз

ограничить кол-во строк результата запроса   Найти похожие ветки 

 
Женя   (2004-04-19 12:56) [0]

нужно для создания превьюшки експортера базы.
Достаточно показать первые 10 строк, чтобы показать, как будет работать експорт.
Как организовать запрос?
пробовал:
select top 10 * from citi
select first 10 * from citi

получал ошибку синтаксиса.
Как можно реализовать задачу? кто знает, что это за конструкция fetch?


 
Reindeer Moss Eater ©   (2004-04-19 12:58) [1]

Показываешь в гриде?
Сделай его невысоким - и будет тебе не больше 10 записей.


 
Курдль ©   (2004-04-19 13:04) [2]

http://delphimaster.net/view/3-1082283525/


 
Anatoly Podgoretsky ©   (2004-04-19 13:04) [3]

select top 10 * from citi не поддержано в LocalSql
select first 10 * from citi не поддержано в LocalSql
fetch вроде тоже не поддержано

Если у тебя другой движок, то сам виноват, что не указываешь.


 
Женя   (2004-04-19 13:10) [4]

движок самый стандартный, на BDE, на сколько я понял, это и есть LocalSql.

грид я и так невысокий сделал, но не хочу ждать, пока в него вписывается все 45 000 записей, когда мне хватит 10.

ссылку видел. Не помогло.


 
Reindeer Moss Eater ©   (2004-04-19 13:12) [5]

В невысокий грид и так не будет вписываться 45000 записей.
Зачем не хотеть ждать того, чего и так не будет?


 
Женя   (2004-04-19 13:31) [6]

как это не будет? ведь в датасорс сразу весь результат выдается. А то что грид показывает-- это всего лишь видимая область. Или я что-то недопонимаю?


 
Anatoly Podgoretsky ©   (2004-04-19 13:39) [7]

Женя   (19.04.04 13:31) [6]
Почему ты так решил?
И второй вопрос почему ты думаешь, что в DataSource вообще есть хоть какие то данные, таи их просто нет, совсем.


 
Женя   (2004-04-19 13:49) [8]

я удивлен.
а зачем тогда татасорс вообще?

Я представляю процесс примерно так:

tQuery (аналог пхп-шного mysql_query)выполняет запрос и получает пакет данных.
tDatasource (аналог mysql_fetch_array) парсит полученный пакет на таблицу
tDbGrid обыкновенная визуализация, аналог html-таблицы.

А как на самом деле все работает? где об этом достоверно узнать?


 
Vlad ©   (2004-04-19 13:57) [9]


> Женя   (19.04.04 13:49) [8]

DBGrid в своем буфере содержит только видимую часть набора данных. Этот буфер называется DataLink, никаких 45 000 записей в него не "вписывается", ты изначально неверно поставил вопрос.
Собственно сам TQuery изначально не хранит весь набор данных, а фетчит записи по мере необходимости, т.е. по мере скроллинга.
Количество записей, которые изначально фетчатся в TQuery ты можешь посмотреть в настройках БДЕ-алиаса, параметр ROWSET SIZE.
Сомневаюсь что у тебя там стоит 45 000


 
Женя   (2004-04-19 14:06) [10]

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


 
Reindeer Moss Eater ©   (2004-04-19 14:10) [11]

Если бы конструкция select top поддерживалась, то ограничение видимого результата (еще один отдельный запрос для превью) приведет к обратному результату.
Производительность снизится.


 
Danilka ©   (2004-04-19 14:12) [12]

[10] Женя   (19.04.04 14:06)
Он и так ограничен. :))
ROWSET SIZE - это то количество записей, которые тебе приходят за один раз. Если ты выходишь за этот диапазон, тебе приходит очередная порция. Если не ошибаюсь, по-умолчанию он равен 20-и, то есть если в твоем гриде видимо меньше 20-и записей, то ты только их и получишь, а никак не 45000. :))


 
Женя   (2004-04-19 14:19) [13]

понял, всем спасибо



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

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
6-1079933984
alin
2004-03-22 08:39
2004.05.16
IdUDPServer в dll


1-1083133018
Stas
2004-04-28 10:16
2004.05.16
тип PCHAR и ACCESS


6-1080020097
NAlexey
2004-03-23 08:34
2004.05.16
Подтверждение о доставке сообщения.


14-1082740430
тихий вовочка
2004-04-23 21:13
2004.05.16
Вопрос избитый: как однозначно идентифицировать компьютер?


8-1077816064
evrey
2004-02-26 20:21
2004.05.16
Получение цвета пикселя в изображении.