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

Вниз

Поиск записи аналогичной искомой   Найти похожие ветки 

 
Ata133 ©   (2004-07-16 16:15) [0]

Я уже писал раньше в форум, никто не отозвался (((

Моя программа автоматически "разбирает" строки и заносит в простенькую БД (1 таблица) записи. Как мне на этом этапе занесения проверить - есть ли уже такая запись в таблица или нет. При утвердительном ответе - не заносить, ну а если еще нету такой записи, то - занести! :).

Отбор на совпадение надо делать не по одному, а искать аж по 8 полям. Я делаю, как посоветовали выше:
If Not (tCargo.Locate("From_;To_;DateF;...",VarArrayOf([z.From_,z.To_,z.DateF, z.DateT, ...]),[])) Then ... ;
Первый аргумент - сравниваемые поля БД, второй - массив сформированных строк для будущего добавления (z - запись со структурой, аналогичной таблице БД). После Then, по идее, - занесение записи в таблицу. Теоретически правильно?

А вот на деле заносятся все записи. Такое впечатление, что неправильно воспринимаются русские символы (хотя может массив неправильно формируется или зведы не так расположены, или еще какая причина неизвестная), т.к. когда я попробывал сделать
If Not (tCargo.Locate("DateF",z.DateF,[])) Then ... ;
были занесены только неповторные записи. Как Вы уже, наверное, догадались, это поле имело тип Date. То же самое происходит по полям целого типа.

* Драйвер Ansi Cyrillic.


 
Jeer ©   (2004-07-16 17:54) [1]

При добавлении новой записи вычислять хэш и записывать в доп. поле Hash, предварительно выполнив поиск на аналогичный хэш.


 
Sandman25 ©   (2004-07-16 17:57) [2]

В крайнем случае создаете уникальный индекс, пытаетесь лобавить, перехватываете исключение, анализируете его текст, если это key violation, то переходите к следующей записи.



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

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

Наверх




Память: 0.47 MB
Время: 0.055 c
1-1091109163
shuraspb
2004-07-29 17:52
2004.08.15
Не показывать MDI Child


4-1088605120
Paulik
2004-06-30 18:18
2004.08.15
Странность в работе с DLL под Delphi и Visual Basic


4-1089194511
andrey__
2004-07-07 14:01
2004.08.15
Сообщения (Диалог между двумя приложениями).


1-1091258938
Antonmm
2004-07-31 11:28
2004.08.15
Открытие файла в RichEdit


1-1091186357
Wolfram
2004-07-30 15:19
2004.08.15
Как изменить FormStyle у многих форм не вручную?