Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как избавиться от одинаковых значении в dbgrid  (Прочитано 7052 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DR.XXX
Помогающий

kz
Offline Offline

« : 12-09-2009 13:47 » 

Еще раз здравствуйте!

Мне нужно, чтобы шла проверка на одинаковые значения в dbgrid. Например, если я  ввел значение в edit (которое уже есть в dbgrid) и нажал на кнопку ДОБАВИТЬ, то выходило бы сообщение, типа "такое уже есть".  
« Последнее редактирование: 13-09-2009 10:11 от Sel » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 12-09-2009 13:52 » 

DR.XXX, я вижу два решения:
1. Проверить самому, есть ли такое значение в базе.
2. Использовать в базе уникальные ключи. При вставке произойдет исключение - его надо поймать и обработать.

Хорошим решением будет использовать оба метода сразу: сперва проверить самому, а потом отловить исключение БД.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
DR.XXX
Помогающий

kz
Offline Offline

« Ответ #2 : 12-09-2009 14:33 » 

спасибо за ответ. Но ничего не понял. Вообще, я так понимаю тут нужно как-то перебрать все строки в таблице, а затем сравнивать их со значением edit-e. Как перебрать вроде разобрался:

Код:
ADOTable1.First;

while ADOTable1.Eof<>true do
 begin
///////(вот незнаю как написать сравнения)

  ADOTable1.Next;
end;

(если неправильно подправьте пожалуйста)

как быть дальше? Помогите
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 12-09-2009 23:51 » new

DR.XXX, дальше надо нажать F1 и почитать хелпы. Совершенно серьезно. Ставишь курсор на, скажем, ADOTable1, жмешь F1 и читаешь описание класса TADOTable со всеми его свойствами, методами и событиями.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines