![]() |
|
|
|
|
#1
|
|||
|
|||
|
Я использую базу данных parodox как при добавлении новой записи в базу проверять имеется ли такая же запись в базе если да товыводить сообщение что данная запись уже имеется
Заранее огромное спасибо |
|
#2
|
|||
|
|||
|
1. "Навеска" констрейнтов. Тогда при попытке вставить существующие данные получишь ошибку.
2. Выборка из таблицы и проверка руками. Возвращать можно Count(*) и проверять значение на 0. |
|
#3
|
|||
|
|||
|
Надо использовать Locate.
|
|
#4
|
|||
|
|||
|
а можно по подробней
|
|
#5
|
|||
|
|||
|
Locate - это метод набора данных который ищет записи.
Перед тем как записать данные в DataSet, ищем в нем эти данные, и если не нашли, то записываем данные в DataSet. |
|
#6
|
|||
|
|||
|
КТО НИБУДЬ МОЖЕТ НАПИШЕТ ПРИМЕР ИСХОДНОГО КОДА А ТО НЕ ПОЛУЧАЕТСЯ ПОЖАЛУЙСТА ПОМОГИТЕ ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО
|
|
#7
|
||||
|
||||
|
Пример импорта данных в базу с использованием проверки на наличие указаной записи. KOD_INN для каждой записи уникален!!!
Код:
if DM.mTableP1.Locate('KOD_INN',DM.exTable.FieldByName('KOD_INN').Value,[]) = True then
begin
DM.mTableP1.Edit;
DM.mTableP1.UpdateRecord;
L1:
DM.mTableP1.FieldByName('TIP').Value:=DM.exTable.FieldByName('TIP').Value;
DM.mTableP1.FieldByName('KOD_INN').Value:=DM.exTable.FieldByName('KOD_INN').Value;
DM.mTableP1.FieldByName('FAMILY').Value:=DM.exTable.FieldByName('FAMILY').Value;
DM.mTableP1.FieldByName('NAME').Value:=DM.exTable.FieldByName('NAME').Value;
DM.mTableP1.FieldByName('OTCHESTVO').Value:=DM.exTable.FieldByName('OTCHESTVO').Value;
DM.mTableP1.FieldByName('BIRTHDAY').Value:=DM.exTable.FieldByName('BIRTHDAY').Value;
DM.mTableP1.Post;
DM.exTable.Next;
end
else
begin
DM.mTableP1.Insert;
GoTo L1;
end;
end; |