Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.09.2008, 19:16
mskvkin mskvkin вне форума
Новичок
 
Регистрация: 31.08.2008
Сообщения: 99
Репутация: 10
Вопрос Срочно

Я использую базу данных parodox как при добавлении новой записи в базу проверять имеется ли такая же запись в базе если да товыводить сообщение что данная запись уже имеется
Заранее огромное спасибо
Ответить с цитированием
  #2  
Старый 18.09.2008, 20:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. "Навеска" констрейнтов. Тогда при попытке вставить существующие данные получишь ошибку.
2. Выборка из таблицы и проверка руками. Возвращать можно Count(*) и проверять значение на 0.
Ответить с цитированием
  #3  
Старый 19.09.2008, 11:01
mik mik вне форума
Прохожий
 
Регистрация: 17.09.2008
Сообщения: 33
Репутация: 10
По умолчанию

Надо использовать Locate.
Ответить с цитированием
  #4  
Старый 20.09.2008, 08:31
mskvkin mskvkin вне форума
Новичок
 
Регистрация: 31.08.2008
Сообщения: 99
Репутация: 10
По умолчанию непонятно

а можно по подробней
Ответить с цитированием
  #5  
Старый 20.09.2008, 13:26
mik mik вне форума
Прохожий
 
Регистрация: 17.09.2008
Сообщения: 33
Репутация: 10
По умолчанию

Locate - это метод набора данных который ищет записи.
Перед тем как записать данные в DataSet, ищем в нем эти данные, и если не нашли, то записываем данные в DataSet.
Ответить с цитированием
  #6  
Старый 21.09.2008, 09:33
mskvkin mskvkin вне форума
Новичок
 
Регистрация: 31.08.2008
Сообщения: 99
Репутация: 10
По умолчанию Не получается

КТО НИБУДЬ МОЖЕТ НАПИШЕТ ПРИМЕР ИСХОДНОГО КОДА А ТО НЕ ПОЛУЧАЕТСЯ ПОЖАЛУЙСТА ПОМОГИТЕ ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО
Ответить с цитированием
  #7  
Старый 21.09.2008, 14:51
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 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;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:55.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025