Как проверить наличие записи в таблице?

Тема в разделе "Delphi - Базы данных", создана пользователем Guest_Egor, 5 янв 2005.

Статус темы:
Закрыта.
  1. Guest_Egor

    Guest_Egor Гость

    Как при вводе в таблицу новой записи проверить существует ли в таблице уже такая запись?

    procedure TForm1.oxButton7Click(Sender: TObject);
    begin

    Table1.Insert;

    end;
     
  2. Barmutik

    Barmutik Гость

    Проверять нужно по какой-то группе полей ?

    Как вариант сделать Table1.Locate(...) ... если запись нашлась значит она есть :)
     
  3. Guest_Egor

    Guest_Egor Гость

    Требуется проверять существование записи в таблице при вводе новой.
    В таблице 3 поля, но хотя бы проверить по одному полю, чтобы выводилось сообщение о том, что такая запись есть или чтобы эта запись появлялась в таблице.
     
  4. ????

    ???? Гость

    Guest_Egor
    constraint ???
     
  5. Barmutik

    Barmutik Гость

    Это на уровне приложения надо сделать ? Или на уровне базы данных ?

    Если на уровне приложения то:

    Код (Text):
    if not Table1.Locate('Filed1', FieldValue, []) then
    Table1.Insert
    Если на уровне базы данных то:

    Делается индекс с уникальными значениями по этому полю и всё. База сам не даст вставить поле с повторяющимися значениями.
     
  6. Btr

    Btr Гость

    Locate довольно долгий процесс на больших данных
    Лучше пользоваться дополнительным TQuery, или GotoNearest кажись была такая функция у Тайбла, но только на индексированое поле открытое по этому индексу
     
  7. Barmutik

    Barmutik Гость

    Не совсем понятно к чему здесь использование функции GotoNearest... у неё совсем другое предназначение...

    А насчёт дополнительного TQuery... это варинат явно быстрее .. но надо делатьз апрос к базе .. уже лучше тогда на уровне базы проверять и не давать просто вставить запись...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей