Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.03 c
8-1085138881
Denis56
2004-05-21 15:28
2004.08.15
Как узнать цвет под мышкой?


1-1091209480
Antonmm
2004-07-30 21:44
2004.08.15
Добавление программы в реестр


14-1090986196
31512
2004-07-28 07:43
2004.08.15
Меня вчера побили и отобрали мобильник. :-)))


3-1089896943
ZedeS
2004-07-15 17:09
2004.08.15
Paradox+ADO+Delphi - получилось медленно!!!


3-1090068004
Kirill
2004-07-17 16:40
2004.08.15
Дубликаты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский