Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > SQL TOP под .DBF


Автор: 14SatanA88 29.7.2011, 10:01
Доброго времени суток, уважаемые программеры.

Работаю с dbf, собираю данные запросом.
Неплохо было бы забрать первую запись (как с помощью TOP в SQL Server), но не знаю, какая функция это сделает с dbf.

Есть ли аналог функции TOP (или LIMIT) применимо к dbf?

Автор: Данкинг 29.7.2011, 10:54
Код

SELECT TOP 1 * FROM table ORDER BY 1

Автор: 14SatanA88 29.7.2011, 11:02
пробовал уже. 

пишет:
---------------------------
sqltest
---------------------------
Invalid use of keyword.

Token: 1

Line Number: 1.
---------------------------
ОК   
---------------------------

Автор: Данкинг 29.7.2011, 11:57
Ну, на самом фоксе такая конструкция работает. А через то, через что ты подключаешься, уж не знаю; ищи косяк в провайдере.

Автор: 14SatanA88 29.7.2011, 11:59
подключение через TQuery

Автор: Данкинг 29.7.2011, 14:02
Через BDE, что ли? Ну, я с ним никогда не работал. А простые запросы хотя бы выполняются?

Автор: 14SatanA88 29.7.2011, 14:07
да, все простые запросы выполняются ровно. 
накопал вот в сети http://www.accuracer.com/products/acr/guide_bde_alternative_client-server_single-file_embedded_bde_replacement_database_delphi_c++builder_kylix/select_statement.php

пишут, что TOP подойдет под BDE. но не подходит.
а есть альтернативный способ подключения?

Автор: Данкинг 29.7.2011, 14:49
Цитата(14SatanA88 @  29.7.2011,  15:07 Найти цитируемый пост)
а есть альтернативный способ подключения? 

Ну, ставишь Фокспро на комп, и тогда из Дельфи подключаешься через фоксовый драйвер. 
А вообще в данном случае нужен ли запрос? Встань на нужную строчку и получи значение полей.

Добавлено через 1 минуту и 7 секунд
Альтернатива BDE какая-то ещё, чего только ни придумают. smile 

Автор: 14SatanA88 29.7.2011, 14:59
Цитата(Данкинг @  29.7.2011,  14:49 Найти цитируемый пост)
ставишь Фокспро на комп, и тогда из Дельфи подключаешься через фоксовый драйвер

ради одной функции? обойдусь

по сабжу:
обойтись без TOP не смертельно, все равно курсор встает на первую запись.
поэтому я не сильно волнуюсь


Автор: Данкинг 29.7.2011, 15:30
Цитата(14SatanA88 @  29.7.2011,  15:59 Найти цитируемый пост)
ради одной функции? обойдусь

Я уж не знаю, сколько там функций тебе нужно.  smile 

Автор: Akella 1.8.2011, 16:48
SELECT FIRST 1 Field_name FROM table1
SELECT FIRST 1 * FROM table1

Добавлено через 3 минуты и 54 секунды
И вообще, забудь BDE. Устарело. Поищи компоненты для DBF.
И вообще, ты бы потрудился рассказать, что у тебя там под dbf прячется? Расширение файла мало что говорит в этом случае.

Автор: 14SatanA88 4.8.2011, 15:06
Цитата(Akella @  1.8.2011,  16:48 Найти цитируемый пост)
SELECT FIRST 1 Field_name FROM table1SELECT FIRST 1 * FROM table1

пробовал

Цитата(Akella @  1.8.2011,  16:48 Найти цитируемый пост)
Поищи компоненты для DBF

что например? хальцион?

ладно, спасибо всем, тема уже не актуальна. вопрос решен другими методами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)