|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как удалить из ADOTable дублирующиеся записи
Доброго времени суток всем!
У меня вот какой вопрос: Данные хранятся в файле .mdb, использую ADOTable и DATASource. База - Rss, таблица - Link. В таблице записываются ссылки, но бывает что они дублируются, а мне надо чтобы в таблице не было повторяющихся ссылок. Код, который добавляет в базу данные: Код:
adotable1.Insert; title.value:=_node.selectnodes('//item').item[i].selectSingleNode('title').Text; link.value:=_node.selectnodes('//item').item[i].selectSingleNode('link').Text; description.Value:=_node.selectnodes('//item').item[i].selectSingleNode('description').Text; pubDate.Value:=_node.selectnodes('//item').item[i].selectSingleNode('pubDate').Text; adotable1.Post; Помогите пожалуйста |
#2
|
|||
|
|||
Проще поставить на это поле уникальный констрейнт. В этом случае при попытке добавить запись с уже существующим в указанном поле значением, ты получишь ошибку. Правда, это работает только с учетеом регистра символов (по моему, нельзя заставить БД не учитывать регистр для одного поля). Как вариант, принудительно приводить ссылку в одному регистру при вставке в БД.
Еще один вариант - перед вставкой в БД просто проверить кол-во записей с указанными даными. Т.е. делаешь запрос с COUNT и смотришт результат. Если 0, то добавляем, если > 0, то нет. |
#3
|
|||
|
|||
А можете привести пример, как это сделать? Это код не я писал, он у меня моими функциями оброс, но с АДО, да и вообще с запросами в БД я плохо знаком.
НАпишите на примере для таблицы "Товар", в которой по полю "Номер" должно проверяться наличие такого номера в таблице. То есть поле номер не должно повторяться. Надеюсь я не сильно намудрил ... ночь все таки, а делать надо... |
#4
|
||||
|
||||
Откройте вашу базу в акцесе. Найдите таблицу о которой идет речь. Сделайте уникальный индекс по нужному полю, но имейте ввиду, что если таблица уже содержит данные и там есть дубликаты, то уникальный индекс построить неудасться пока не приведете таблицу в порядок.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |