|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2008, 12:56 | #1 |
Пользователь
Регистрация: 26.11.2008
Сообщений: 81
|
Обработка ошибок
Подскажите, пожалуйста! Есть таблица (Paradox), для работы в таблицей на форме используются DBGrid и DBNavigator. При добавлении не уникальной записи выходит сообщение "Key violation". Как перехватить этот момент, чтобы выдать пользователю сообщение, например, "Такая запись уже существует".
|
01.12.2008, 15:25 | #2 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Сделай проверку на ввод данных ... и если данные Вводились то выдай сообщение ... не пойму трудности объясни подробнее (тоесть объясни как именно происходить добавление данных)...
Skype : UASm1Le.
|
01.12.2008, 20:13 | #3 | |
Пользователь
Регистрация: 09.10.2008
Сообщений: 41
|
Цитата:
Код:
http://programmersforum.ru/showthrea...t=29370&page=2
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно! |
|
01.12.2008, 20:29 | #4 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
не думаю что SQL запрос сможет перехватить Трай - Ексепт =)))
ввод наверняка будет через Форму а тоесть Едиты и Мемо - отсюда перед переносом данных легким запросом проверить ....
Skype : UASm1Le.
|
01.12.2008, 20:37 | #5 |
Пользователь
Регистрация: 09.10.2008
Сообщений: 41
|
Код:
except
Писать на стенах туалета, увы, мой друг не мудрено.....
Среди говна - мы все поэты. Среди поэтов - мы говно! |
02.12.2008, 10:06 | #6 |
Пользователь
Регистрация: 26.11.2008
Сообщений: 81
|
Проблема в том, что я не поняла в какой момент вставить обработку исключения. В коде есть обработка AfterPost.
|
02.12.2008, 10:30 | #7 |
Пользователь
Регистрация: 11.07.2008
Сообщений: 91
|
Приведите код как вы сохраняете записи...сдесь телепатов нету....
|
02.12.2008, 10:49 | #8 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
К примеру у тебя есть поля ввода Edit1 i Edit2 Батон Как подтверждение того что ты ввела ,в 1 ты вводиш Свой ключ.
Ты ввела, и нажала на подтвердить, теперь е примеру использую Query. Form1.Query.close; Form1.query.SQL.text='select * from NAME_TABLE where ID='+Form1.Edit.text+';' Form1.Query.OPen; If Form1.Query.RecordSet<>0 then alert('Ошибка!! Воода !!! Повторите !!!') - типа того =)))
Skype : UASm1Le.
|
03.12.2008, 07:03 | #9 |
Пользователь
Регистрация: 26.11.2008
Сообщений: 81
|
В проекте используется компонент TTable. Вот код который обрабатывает события для этого компонента:
procedure TDM.TTarifAfterPost(DataSet: TDataSet); begin dat:=DM.TTarifDAT.Value; end; procedure TDM.TTarifBeforeInsert(DataSet: TDataSet); begin kod:=DM.TTarif.RecordCount+1; while DM.TTarif.Locate('KOD_T',kod,[]) do begin kod:=kod+1; end; end; procedure TDM.TTarifNewRecord(DataSet: TDataSet); begin DM.TTarifKOD_T.Value:=kod; if DateToStr(dat)='' then begin DM.TTarifDAT.Value:=dat; end else begin DM.TTarifDAT.Value:=Date; end; end; Так какое событие обработать? Куда включить обработку исключения? В OnPostError, BeforePost? |
03.12.2008, 09:52 | #10 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Ну Наверно Before тебе ж надо проверить данные перед сохранением ....
Skype : UASm1Le.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка ошибок | Ivanich | JavaScript, Ajax | 1 | 24.04.2008 22:49 |
Обработчик ошибок | XPAiN | Microsoft Office Excel | 3 | 21.04.2008 09:30 |
Обработка ошибок в Delphi 7 | Наташкин | БД в Delphi | 3 | 21.12.2007 22:07 |
обнаружение ошибок | makar575 | Фриланс | 3 | 18.12.2007 07:56 |
Обработка ошибок. | Serviceprofi | Помощь студентам | 7 | 19.11.2007 15:12 |