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

Вниз

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

 
Женя   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1083308154
pan
2004-04-30 10:55
2004.05.16
Можно-ли установить D5 и D6 под Win95/98 ?


8-1077809370
Spartak
2004-02-26 18:29
2004.05.16
Смена картинок


3-1082623665
AlexXn
2004-04-22 12:47
2004.05.16
Одновременный доступ к данным


1-1083194506
Бегун
2004-04-29 03:21
2004.05.16
Абсолютные координаты мыши.


8-1077452218
Cerber
2004-02-22 15:16
2004.05.16
OpenGL





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