![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как 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