powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
7 сообщений из 7, страница 1 из 1
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283296
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток =) В мануалах sybase есть такая вот статья: Handling DataWindow errors , где есть раздел "Using the DBError event". У меня через freeform таблицу добавляются данные в другую таблицу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
if dw_add_only_faculty.Update() = - 1  and dw_add_only_faculty.Retrieve() = - 1  then
	return
else	
	dw_add_only_faculty.Update()
	dw_add_only_faculty.Retrieve()
end if;	
if w_main.dw_faculty.Update() = - 1  and w_main.dw_faculty.Retrieve() = - 1  then
	return
else
	w_main.dw_faculty.Update()
	w_main.dw_faculty.Retrieve()
end if;	
MessageBox('Добавление факультета' , 'Запись добавлена!' , Information! , Ok! ,  1 )
close(w_add_alone_faculty)
И на событии dberror, относящемся к окну данных прописан следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// Database error -195 means that some of the required values are missing
IF sqldbcode = - 195  THEN
        MessageBox("Missing Information",  &    
            "You have not supplied values for all " &
            +"the required fields.")
END IF
// Return code suppresses default message box
RETURN  1 
Так вот собственно сабж: как сделать так чтобы вместо стандартного сообщения вылетала своя ошибка через MessageBox? Ибо вроде сделал всё как мануалу, но всё равно сначала выводится сообщение об ошибке стандартное, а потом мой messagebox с сообщением о том, что данные добавлены.
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283406
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала попробуйте без dberror
Код: plaintext
1.
2.
3.
4.
5.
if dw_add_only_faculty.Update() = - 1  then
   MessageBox('Ошибка добавления факультета' , 'Запись НЕ добавлена!' + '~n' + sqlca.sqlerrtext , Information! , Ok! ,  1 )
   return
else
   MessageBox('Добавление факультета' , 'Запись добавлена!' , Information! , Ok! ,  1 )
end if




Код: plaintext
if dw_add_only_faculty.Update() = - 1  and dw_add_only_faculty.Retrieve() = - 1  then
первый раз встречаю такой IF :))
порадовал
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283481
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока есть код в DBError - будет обрабатываться он
Советую обрабатывать ошибки обновления в каждом конкретном случае как советует VanoR
Насчет if - действительно порадовал
Билдер обрабатывает обе части выражения, поэтому update и retrieve в if - неправильно.
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283500
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь с IF. Убрал и заработала как раз ошибка в событии dberror.
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283524
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А просто проверить перед обновлением заполняемость колонок религия не позволяет?
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283596
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001,

религия позволяет всё, но я не знаю как!
...
Рейтинг: 0 / 0
Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
    #37283658
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Религия позволила полистать форум и найти ветку с примерно такой же проблемой ПРОВЕРКА КОРРЕКТНОСТИ ВВЕДЕННЫХ ДАННЫХ в DATA WINDOW
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Обработка ошибки 23000 (ошибка вставки пустой колонки в таблицу)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]