|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.06.2010, 23:19 | #1 |
Пользователь
Регистрация: 19.05.2009
Сообщений: 98
|
Проверка записей в DBGrid
У меня есть БД покдлючена через ADOQuery. Проблема состоит в том что мне надо сделать перехвачивание если будет вводится код в таблицу который не может повторятся. Например А99 - первая запись, значит остальные записи не могут быть А99, тоесть мне надо поставить здесь перехватчик или проверку на уникальность. Помогите чем можете пожайлуста.
|
08.06.2010, 23:30 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
А если просто поле ключевым сделать? и пусть бд этим занимается
|
09.06.2010, 09:10 | #3 |
Пользователь
Регистрация: 04.06.2010
Сообщений: 25
|
Делай запрос Q1 проверки типа
select * from tb1 where pole1 = :text (для проверки вводимого значения) перед открытием запроса просто передаешь ему переменную (:text), которую ты хочешь проверить. а перед сохранением своих записей просто напиши проверку Q1.open; if Q1.recordcount.value > 0 then begin (Сообщение об ошибке типа "Данные поля Pole1 - не уникальны, измените их, ну или что-то в таком духе); end else begin (Сохранение вводимых данных, т.е. все впорядке); end; Q1.close; Последний раз редактировалось Kemperok; 09.06.2010 в 09:13. |
09.06.2010, 09:57 | #4 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Все же лучше ключ. Чем городить огород.
А на чем у тебя БД?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
09.06.2010, 12:39 | #5 |
Пользователь
Регистрация: 19.05.2009
Сообщений: 98
|
БД на Access, мне всеравно чем ее подключить ADOTable или ADOQuery. Пhосто я эту таблицу связал с другой талицей по этому полю (MasterFields). Тоесть в первой таблице значение не должно повторятся, а в другой для этого значения заполняем даные.
Kemperok, попробую твой вариант хотя SQL не знаю |
10.06.2010, 06:42 | #6 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Всеже такой вариант который ты решил использовать не совсем правильный.
Для аксеса он сойдет. Но если попытаться его использовать с большими объемами данных. Да еще и удаленно от БД. Ьез индекса то этому полю То есть шанс вообще не дождаться результата проверки. Так что все же стоит разобраться с ключами. Ты сам говоришь что в таблице может существовать только одна запись с таким значением. Ну и создай ключ по этому полю. И все.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
10.06.2010, 08:52 | #7 | |
Пользователь
Регистрация: 04.06.2010
Сообщений: 25
|
Цитата:
Аксесс и большой объем данных - это слова антонимы... |
|
10.06.2010, 09:35 | #8 | ||
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Цитата:
Цитата:
Код:
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
||
10.06.2010, 16:09 | #9 |
Пользователь
Регистрация: 19.05.2009
Сообщений: 98
|
rdama если не сложно напишы код.
Код:
Код:
Последний раз редактировалось Stranger333; 10.06.2010 в 16:43. |
11.06.2010, 05:49 | #10 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Код:
Поэтому обработчик построен на возврате e.HelpContext. И еще у exception есть поля ClassName и Message. Ты можешь их использовать И еще при отлове ошибки в IDE ты в любом случае получишь сообщение Access'a. Т.к. её тебе плюнет дебагер. А вот если запустишь программу без IDE, то ошибки Acces'a уже не будет.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) Последний раз редактировалось rdama; 11.06.2010 в 05:59. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добавление записей в DBGrid без сохранения | Hypermaster | БД в Delphi | 3 | 23.04.2010 08:46 |
Выделение записей в DBGrid (многопользовательский вариант ) | Paul Hindenburg | БД в Delphi | 14 | 29.09.2009 10:19 |
Добавление записей в DBGrid с помощью Query | Droid | БД в Delphi | 5 | 21.06.2009 03:02 |
Выбор записей в DBGrid-e | artemavd | БД в Delphi | 12 | 16.05.2009 19:45 |
Сохранение нескольких записей из DbGrid в базу | Canadec | БД в Delphi | 5 | 06.09.2007 14:26 |