Форум: "Базы";
Текущий архив: 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