Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Поиск неотсортированных записей   Найти похожие ветки 

 
werr   (2002-12-05 17:59) [0]

Есть много больших бд (dBase) одной структуры, в которых записи по одному из полей должны идти по порядку. Надо найти записи, котрые идут не по порядку (их мало). Как это правильнее сделать (чтобы работало побыстрее)?


 
werr   (2002-12-05 18:50) [1]

сейчас делаю так:
Запрос "select field from db".
Query1.Open;
while (not (Query1.Eof)) do
begin
if Query1.RecNo <> Query1.RecordCount then
q:= Query1.Fields[0].AsInteger;
Query1.Next;
if Query1.Fields[0].AsInteger <> q+1
then
........
end;

Это работает довольно долго. Может кто сталкивался с похожей проблемой и знает как сделать быстрее?


 
ЮЮ ©   (2002-12-06 03:24) [2]

Если в поле нумерации и есть разрывы, то порядок от этого не изменится, не так ли?. Разрывы, очевидно, образуются на клиенте при удалении некоторых строк. Пусть клиент и побеспокоится при сохранении списка о значении поля нумерации, хотя, повторюсь, разрывы в поле нумерации никак не влюяют на порядок записей, здесь единственная вставки записи внутрь, так что чем больше разрыв, тем больше возможности вставлять записи, не изменяя при этом другие


 
MsGuns ©   (2002-12-06 06:27) [3]

Не совсем понятно, что надо найти: "дырки" или выпадание из прогресса ? (т.е 1,2,3,8,9,... или 1,2,3,9,4,5) ?
И в том, и в другом случае лучший метод - "пузырьки" (ИМХО)



Страницы: 1 вся ветка

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-86008
bambina
2002-12-15 15:15
2002.12.26
ListBox


1-85910
Сыр
2002-12-17 04:04
2002.12.26
Помогите сделать BEEP в винде 2000?


8-86042
none
2002-09-01 16:08
2002.12.26
DirectX


6-86069
urich
2002-10-29 17:28
2002.12.26
Upload по http использую WinInet


6-86063
ALeshka
2002-10-29 22:25
2002.12.26
Переслать текст+картинка по сети