powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / GUI и целостность данных в БД
15 сообщений из 40, страница 2 из 2
GUI и целостность данных в БД
    #34011827
Сергей Фролов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Calm: Если я вас правильно понял, то на одно возможное сообщение о попытке нарушении целостности данных, вы предлагаете сделать два? Одно ДО встроенной проверки базой данных, а второе ПОСЛЕ в случае таки возникновения ошибки? А в чем бонус?

2 ALL: Неужели большинство выполняют проверки целостности данных вручную, дабы показать пользователю адекватное сообщение на русском?
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34011833
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фролов2 ALL: Неужели большинство выполняют проверки целостности данных вручную, дабы показать пользователю адекватное сообщение на русском?
http://www.sql.ru/forum/actualthread.aspx?tid=342424
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34011871
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Фролов2 ALL: Неужели большинство выполняют проверки целостности данных вручную, дабы показать пользователю адекватное сообщение на русском? а по разному.
Была у меня система, где пользователю разрешали вводить абы как, а возникающие на сервере БД ошибки автоматически переводились на русский язык по некоторым правилам. Выглядело, честно говоря, страшненько и многие пользователи предпочитали (представьте себе !) видеть оригинальное английское сообщение.

Сейчас стараемся проектировать ввод данных так, чтобы ошибки вида "foreign key violation" вообще не возникали. Ну а уж если возникли, показываем как есть - исключительная ситуация.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012035
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmДа уж, точно. Задача пользователя нажать на кнопку "Отправить", а не передавать словами описание ошибки. Обработка нужна всегда, даже если подозреваешь, что в этом месте ошибки быть не может.

А где тут кнопка "Отправить"? На русский слабо было перевести? Почему меню не русское? Почему сообщение не русское? Уважать надо соотечественников. Да и шибка то, похоже, программистская (типа ORA-600), а не пользовательская.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012090
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
А где тут кнопка "Отправить"? На русский слабо было перевести? Почему меню не русское? Почему сообщение не русское? Уважать надо соотечественников. Да и шибка то, похоже, программистская (типа ORA-600), а не пользовательская.
Извиняюсь, специально для съема картинки не переключился на русский язык. Мне больше нравится английский вариант, поэтому он у меня на ноуте и установлен. Кнопка отправить = Send. Русскоязычные пользователи естественно работают на русской версии. У них так и написано "Отправить", а вместо Record написано "Записи" и сообщение на русском конечно. А картинка в целях солидарности с softwarer-ом о том, что если подобные ошибки возникают, то задача пользователя нажать "Отправить", остальное все делает обработчик, он сам знает кому, что и как сообщить.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012135
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calm авторА тот факт, что за время между проверкой и INSERT'ом запись в таблице, для которой создан foreign key, может быть удалена?
Ну так и надо внятно написать почему не получается выполнить операцию. А не "key violation" в таблице такой-то. IMHO.

С уважением.

key violation (естественно, на родном языке пользователя), достаточно внятное описание ошибки. Грамотный пользователь СУБД вполне в состоянии понять, что это такое и определить свои дальнейшие действия (изменить данные, подождать и повторить попытку, обратиться в тех. поддержку, и т.п.).
На вопрос "почему?" как правило дать ответ проблематично. Даже техническому специалисту иной раз сложно найти причину, ведь она совсем не обязательно связана с действием пользователя, который получил сообщение об ошибке. Ввести систему в некорректное состояние мог совсем другой пользователь или процесс. Сомневаюсь, что относительно простыми средствами программа сможет самостоятельно локализовать, и тем более устранить ошибку.
Теперь спросим себя, зачем нам нужно знать причину? Для устранения ошибки причину знать не обязательно, нужно знать в каком состоянии находится система и способ перевода системы в одно из корректных состояний, а их может быть сколько угодно.
Причина полезна для профилактики ошибок, но как мы видим, установление причины сложная и не всегда автоматизируемая задача.
Можно сделать вывод, что сообщение об ошибке должно содержать констатацию факта и (опционно) возможные пути решения. Сообщать причину не нужно, скорее всего не угадаешь.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012187
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmИзвиняюсь, специально для съема картинки не переключился на русский язык. Мне больше нравится английский вариант, поэтому он у меня на ноуте и установлен. Кнопка отправить = Send. Русскоязычные пользователи естественно работают на русской версии. У них так и написано "Отправить", а вместо Record написано "Записи" и сообщение на русском конечно. А картинка в целях солидарности с softwarer-ом о том, что если подобные ошибки возникают, то задача пользователя нажать "Отправить", остальное все делает обработчик, он сам знает кому, что и как сообщить.

ИМХО, диалог не логично построен. Лично у меня возник вопрос, что если нажать кнопку Yes или No. Будет ли отправлено сообщение? Если я нажму Send, выполнение продолжится (обычно кнопка на модальном диалоге вызывает действие и выход из диалога) или нет?
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012233
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
Я в целом согласен с конкретными замечаниями и также предпочел бы в этом случае чуть другой дизайн. Хотя отметим, что и микрософт дает примеры аналогичных решений, и кнопка Help в стандартном MessageDlg реализована именно так.

Что, впрочем, не мешает этому подходу эффективно решать проблему зачитывания по телефону англоязычных сообщений.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012252
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
ИМХО, диалог не логично построен. Лично у меня возник вопрос, что если нажать кнопку Yes или No. Будет ли отправлено сообщение? Если я нажму Send, выполнение продолжится (обычно кнопка на модальном диалоге вызывает действие и выход из диалога) или нет?
Переведу на русский :):
При выполнении файла ___ возникла ошибка:
Неизвестный идентификатор ХХХХ
в строке НННН, позиции КККК
Продолжить выполнение файла?: Да, Нет, Отправить сообщение об ошибке, Справка.
Модальные кнопки (Да,Нет) отвечают на заданный вопрос. Остальные - сервисные функции.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34012584
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа вопрос "почему?" как правило дать ответ проблематично. Даже техническому специалисту иной раз сложно найти причину, ведь она совсем не обязательно связана с действием пользователя, который получил сообщение об ошибке.

Извините, это уже какой-то беспредел, когда прога написана так, что даже техническому специалисту сложно понять в чем же дело.

авторТеперь спросим себя, зачем нам нужно знать причину? Для устранения ошибки причину знать не обязательно,

авторТеперь спросим себя, зачем нам нужно знать причину? Для устранения ошибки причину знать не обязательно, нужно знать в каком состоянии находится система и способ перевода системы в одно из корректных состояний, а их может быть сколько угодно.
И как же не зная причины, определить какой способ перевода в корректное состояние следует использовать?
Это похоже на
- Доктор, у меня болит правый бок
- Выпейте желтую таблетку.
- А у меня - левый.
- Для вас - красная таблетка.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34014906
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calm авторНа вопрос "почему?" как правило дать ответ проблематично. Даже техническому специалисту иной раз сложно найти причину, ведь она совсем не обязательно связана с действием пользователя, который получил сообщение об ошибке.

Извините, это уже какой-то беспредел, когда прога написана так, что даже техническому специалисту сложно понять в чем же дело.



Дело может быть не в программе.

Товарищ рассказывал, написал он настольную систему, поставил клинету, всё работает, но не прошло и дня, БД упала. Он починил. На следующий день всё повторилось. Программа правильная, но БД падает. Непонятки.
Оказалось, что пользователь, уходя на обед просто выключал ПК из розетки. Вот и разберись!..

Локализовать ошибку не сложно (из примера видно, что БД разрушена), сложно (а иногда и невозможно) понять почему она возникла (неправильные действия пользователя перед обедом).
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34014942
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabОказалось, что пользователь, уходя на обед просто выключал ПК из розетки. и что ? Можно узнать имя БД ?
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34015160
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinov mcureenabОказалось, что пользователь, уходя на обед просто выключал ПК из розетки. и что ? Можно узнать имя БД ?
+1
можно и про клиента поговорить - неоднократно сам выдёргивал из розетки, т.к. не боюсь я его

Завис комп.. Выдерни шнур и выдави стекло! (с)
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34016314
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinov mcureenabОказалось, что пользователь, уходя на обед просто выключал ПК из розетки. и что ? Можно узнать имя БД ?

Вроде FoxPro для DOS был. Да в общем без разницы.
...
Рейтинг: 0 / 0
GUI и целостность данных в БД
    #34016469
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Alexey Kudinov mcureenabОказалось, что пользователь, уходя на обед просто выключал ПК из розетки. и что ? Можно узнать имя БД ?

Вроде FoxPro для DOS был. Да в общем без разницы.
да. Тот мог лечь.
ЗЫ. Я как то провёл эксперимент с MS SQL 2000 когда он завис в своей длинной транзакции (тестовое добавление миллиона записей) и меня достал.
Вырубил комп на резет и после перезагрузки сервер начал откат всех действий с этим миллионом, т.к. понял что "он умер вчера".
Далее работал как обычно.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / GUI и целостность данных в БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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