Текущий архив: 2005.10.02;
Скачать: CL | DM;
Вниз
вставка записи в базу Найти похожие ветки
← →
_alex_niv_ © (2005-08-18 15:48) [0]Добрый день!
У меня при вставке записи в базу вылетает сообщение:
CommandText does not return a result set
ADOQuery1.SQL.Text:= strMessege;
ADOQuery1.Open;
запись вставляется нормально
вот только как мне перехватить это сообщение, что бы избавиться от него?
← →
Desdechado © (2005-08-18 15:56) [1]open используется для SELECT, для остальных - ExecSQL
← →
_alex_niv_ © (2005-08-18 16:01) [2]а где посмотреть какие ошибки он возращает, что бы их перехватить и заменить на свои сообщения
← →
sniknik © (2005-08-18 16:50) [3]try
...
except
on E: Exception do begin
... E.Message ....
end;
end
не надо менять. если поддержка предполагается, не надо, если хочеш чтобы с программой невозможно было работать... другое дело.
http://delphimaster.net/view/3-1124099993/
← →
Ega23 © (2005-08-18 17:05) [4]Команды Insert, Update и delete по своему определению не возвращают набора данных. Для таких команд у TdataSet есть метод ExecSQL.
Для команд, возвращающих набор данных (фактически - только одна команда Select) - существует метод Open.
← →
_alex_niv_ © (2005-08-19 09:23) [5]> sniknik © (18.08.05 16:50) [3]
>не надо менять. если поддержка предполагается, не надо, если >хочеш чтобы с программой невозможно было работать... другое >дело.
А что будет плохого если я заменю некоторые сообщения, которые пользователям будут не очень понятны?
Почему после этого с программмой будет невозможно работать?
← →
Anatoly Podgoretsky © (2005-08-19 09:34) [6]_alex_niv_ © (19.08.05 09:23) [5]
А что будет плохого если я заменю некоторые сообщения, которые пользователям будут не очень понятны?
Почему после этого с программмой будет невозможно работать?
Вполне возможно, все зависит от того как напишешь.
← →
sniknik © (2005-08-19 11:21) [7]_alex_niv_ © (19.08.05 09:23) [5]
чаще всего я видел заменяют подробную техническую информацию в ошибке на английском, на по руские "Ошибка в программе!" или "Ошибка вставки записи"... /+варианты, не сильно отличающиеся. причем заменяют целый класс ошибок/сообщений на одно свое (или список на одно свое).
а чтобы заменить полноценно, нужно очень хорошо знать от чего она... чего (опять не всегда а обычно) те кто меняет не знают (потому как желание такое присуще похоже исключтельно начинающим... ;о))
ну вот пример, не так давно был. программа выдает "Неизвестная ошибка COM обьекта"... цто (служба поддержки) не справилось, фигня какаято, на любой машине работает, а на одной именно на которой нужно нет... вылетает вот эта ошибка. единственное решение видят - винду переустановить, а клиент не согласен там еще куча установленного (может и врет, но...). пришли с ней к нам в отдел программирования, ко мне почемуто (программа не моя), но вообще ко мне многие проблемы попадают.
решилось. действия:
1 выяснить кто писал. - уволился.
2 есть ли исходники - да.
3 последняя ли версия (может исходники с "брачком", не обновленные специально/случайно) - точно не последняя, дорабатывалось дома (именно для них, было изменение "под клиента").
4 связатся с программистом чтобы выслал последнее. - ждем.
5 изучить код, выяснить примерно в каком месте ошибка. - она в 6 случаях это выдает. + это сообшение = вполне легальной ошибке системы.
6 переписать участки "русификации" (там case с номерами а по else вот эта фигня). - все заменил на выдачу системного сообщения.
7 отсылаем клиенту исправленныю версию. получаем ошибку вместо выдаваемой. - (не помню точно, и было по английски, это перевод с поправкой на склероз ;) "Ошибка синхронизаци COM обьекта, не удалось подгрузить функцию ххххх из dll ххххх.dll"
8 ждем. т.к. клиент получив это, нам сообшил не сразу... только после того как заколебавшись ждать мы ему сами перезвонили. а сразу он попробовал сам найти указанную dll, не нашол. скопировал ее с соседней машины, и прога заработала, проблема решена, он и "расслабился". ну а нам зачем звонить, нам же совсем не интересно чем там завершилось. и завершилось ли. ;?(
все это в куче заняло гдето недели три... (а могло даже до обращения в цто не дойти)
писал прогу кстати, довольно приличный программист, но тоже не все учел (да это и невозможно). но вот с тем что его метод перевода неправильный так и не согласился. ;о) сказал, что это по else надо было системную выдавать...
ага, а если ты ее(подобную) всетаки отловил и перевел (т.е. попала в список) а ошибка подгрузки в системе совсем другой dll, а в твоем переводе фигурирует эта, и? система то тоже не просто так выдает она их составляет, и та же ошибка может быть с другой функцией/классом/переменной/действием. тебе нужен тогда не просто перевод а анализатор, и перевод только несущественной/неизменно части выражения...
или... сохраняй оригинал куданибудь, а пользователям тогда можеш любую фигню показывать... и в руководстве описать "правильные сообшения там -> ..."
Страницы: 1 вся ветка
Текущий архив: 2005.10.02;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.061 c