Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как sql-ем Дельфийским выбрать записи, скажем с 20-й по 52? [D6, D7, IB6.x, dBase, FoxPro, *.dbf]


Filat ©   (2004-04-19 14:20:00) 

Делаю это в DBEXPL32, т.к. только он смог прочитать мой dbf, остальный, в том числе и фокспро сказали что не формат базы данных?
Спасибо!


Filat   (2004-04-19 16:37:00) [1]

:))))))) от артисты, ладно, попробую :)))


Anatoly Podgoretsky   (2004-04-19 16:28:00) [2]

Это задачка чисто для навигационных методов, вместо реляционных для данного движка.


Соловьев   (2004-04-19 16:17:00) [3]


> sniknik ©   (19.04.04 16:01) [15]

:)
1. Второй по скорости - 1-й по понятности
2. Next не нужен :)
3. Привычка.


sniknik   (2004-04-19 16:01:00) [4]

Соловьев ©   (19.04.04 15:48) [14]
> FieldByName
не самый лутший пример в плане скорости
> Delete;
> Next;
удаление уже дает переход, будет скакать через одну.
> with
специально? нехай запутается? ;о)


Соловьев   (2004-04-19 15:48:00) [5]


> Filat ©   (19.04.04 15:25) [11]

with Table do
begin
if not Active then Open;
First;
While not Eof do
begin
 Table2.Insert;
 Table2.FieldByName('F1').AsString := FieldByName(F55).AsString;
 ...
 Table2.Post;
 Delete;
 Next;
end;
end;


Filat   (2004-04-19 15:33:00) [6]

у меня только exe от DBEXPL32


sniknik   (2004-04-19 15:29:00) [7]

RxLib вроде с исходниками...


Filat   (2004-04-19 15:25:00) [8]

Дело в том что этот долбаный dbf прочитала прога из набора демок из RxLib - DBEXPL32. Как мне в ней сделать этот цикл?
Можно пример кода?


Соловьев   (2004-04-19 15:14:00) [9]


> Filat ©   (19.04.04 15:09) [9]

в цыкле - вынул запись, скопировал куда надо, удалил в источнике.


Filat   (2004-04-19 15:09:00) [10]

Соловьев - не важно, первые это будут или нет, главное чтобы их потом в основной базе не было там где 6800... из 500 вырезали, вставили во вторую.

sniknik - потом эти 500 записей будут вытязиваться с параметром даты от до ... ну ещё кучей всего из базы SyBase, которая сама по себе еле ползает, а если ечесть, что в ней неправильно построен сам по себе процесс блокировки записей то .... + это выборку можно делать с 9 утра до 8 вечера, потом с ней технологич. операции делают.
Ну что я сделаю, если изначально откуда в итоге тянуться данные сделали через ж...
Спасибо!


sniknik   (2004-04-19 14:53:00) [11]

> 6800 записей
?
> может занимать 2-3-4-5-6- недель
???
гоните в шею программиста который это писал!!! это дело нескольких секунд.


Соловьев   (2004-04-19 14:48:00) [12]


> Filat ©   (19.04.04 14:45) [6]

что значит первые 500 записей? первые относительно чего? или не важно? главное 500 записей?


Filat   (2004-04-19 14:45:00) [13]

нет. задача такая, есть некоторая прога, конвертор,которая в dbf вытащила более 6800 записей, если их другой прогой обрабатывать, а это может занимать 2-3-4-5-6- недель ... (почему, это не имеет значения, слишком много объяснять и делу не поможет) то на 2-й неделе просто задалбываешься ручками искать какая запись не обработалась, а потом, её же ручками искать и помечать для обработки (поставить галочку в CheckBox). поэтому .... хочется .... взять первые 500 записей, вставить в другой dbf и вырезать их из первого. Вот ....


sniknik   (2004-04-19 14:36:00) [14]

> мабуть идти за пивом и искать по чем можно выбрать данные
ага за пивом или другим напитком. ;о)

для локальной таблицы сделать простой фильтр по номеру записи будет гораздо быстрее запроса.


Соловьев   (2004-04-19 14:34:00) [15]


> Filat ©   (19.04.04 14:32) [2]

переходи на FB  - там есть :)


sniknik   (2004-04-19 14:32:00) [16]

а что это за "дельфийский sql"? localsql? думаеш это одно и тоже для IB6.x и dBase?

таки нет, таки для IB6.x подозреваю это можно сделать, с помощью хп. или извратного запроса ... но ввиду бесполезности оного даже думать не хочется на эту тему.
(для запроса порядок выбираемых данных неопределен, а отсечение первых двадцати средствали sql сервера для одного случая может вернуть анологичные данные для другого (без отсечения))


Filat   (2004-04-19 14:32:00) [17]

Соловьев  Спасибо! Блин ...., что же делать ..... мабуть идти за пивом и искать по чем можно выбрать данные, чтобы их не много получилось ... за раз ...
Ещё раз спасибо.


Соловьев   (2004-04-19 14:22:00) [18]

сегодня третий :)
нельзя этого сделать - нельзя!!! F3 - localsql.hlp


Наверх

Титульная страница Поиск, карта сайта Написать письмо