Среда, 22.11.2017, 01:53
Приветствую Вас Гость

Не ошибается тот, кто ничего не делает.
Но и ничего не делать - ошибка.

Эмиль Кроткий

Меню сайта
Категории раздела
Delphi [12]
Материалы, связанные с программирование на Delphi
Форма входа

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


















Тиц
Главная » 2011 » Июнь » 19 » Проверка записи на совпадение, перед добавлением ее в базу данных при использовании компонентов ADO.
20:42
Проверка записи на совпадение, перед добавлением ее в базу данных при использовании компонентов ADO.
Очень часто при добавлении записи в базу данных при работе с компонентом ADOTable необходимо проверить, а вдруг такая запись уже есть. Для проверки,  как правило, используются два метода для поиска данных: ADOTable.Locate и ADOTable.Lookup. Данные методы ищут запись, удовлетворяющую заданным условиям.
function Locate(const KeyFields: string; const KeyValues: Variant;
  Options: TLocateOptions): Boolean; virtual;
 
function Lookup(const KeyFields: string; const KeyValues: Variant;
  const ResultFields: string): Variant; virtual;
 

Разница между ними в том, что функция Locate при поиске записи позиционирует курсор на найденную запись, а Lookup не делает этого. Описывать, как работают данные методы поиска, я не буду т.к. про это написано достаточно много. Дело в том, что при вызове любого из этих методов, автоматически вызывается метод post и ваша проверяемая запись добавляется в базу данных или возникает ошибка. Самый простой способ, чтобы это обойти поместить на форму еще один компонент ADOTable, подключить к нему эту же таблицу базы данных и осуществлять поиск уже по ней.


Нравится

Категория: Delphi | Просмотров: 3992 | Добавил: xaramamburu | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Календарь
«  Июнь 2011  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930
Архив записей
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 532
Уголок общения



Copyright MyCorp © 2017Конструктор сайтов - uCoz