![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Код ошибки пустой [D7, MSSQL]
чайник1 © (2004-01-13 14:48:00)
Уважаемые мастера, помогите, прога то работает то нет, соединение с сервером через компоненты DbExpress, выдает сообщение код ошибки пусто, а при продолжении работы выдает сообщение разрушительный сбой. Я конечно анализирую все через конструкцию try...except, но от этого не легче, сервер вроде работает, ругается на Applyupdates. может у кого-то была такая ситуация, вчера все работало. Убрал все что было сегодня добавлено, результат все тот же. Проверил все таблицы на сервере, просмотры, доступ.Соединение по новой создал в модуле Datamodule.Спасибо.
Vlad (2004-01-13 16:38:00) [1]
> чайник1 (13.01.04 16:04) [33]
Кусок кода, который ты привел, находится внутри модуля Dat1 ?
Если так, то убери все ссылки на него.
Вобще что-то странное. Насколько я помню, "разрушительный сбой" - это Access Violation по нашему :-) Т.е. обращение к объекту, который nil...
sniknik (2004-01-13 16:33:00) [2]
говориш ошибок нет
Set MaxErrors to –1 to indicate that there is no limit to the number of errors.
а сам их в ноль разрешонных вгоняеш
поставь
ApplyUpdates(-1)
чайник1 (2004-01-13 16:04:00) [3]
да, на строке ApplyUpdates(0), т.е. при занесении изменений на сервер.
Vlad (2004-01-13 16:03:00) [4]
> чайник1 (13.01.04 16:01) [31]
Ты можешь точно указать на какой строчке возникает эта ошибка ?
чайник1 (2004-01-13 16:01:00) [5]
убрал галочку на Stop.
теперь при добавлении или изменении записи выдает сразу ошибку разрушительный сбой без кода ошибки
Danilka (2004-01-13 15:57:00) [6]
[28] Vlad © (13.01.04 15:56)
угу, вероятно в этом дело а никакая не мистика. :))
Danilka (2004-01-13 15:56:00) [7]
[27] чайник1 (13.01.04 15:55)
просто ругается? не выкидывает на блок except?
мистика :))
Vlad (2004-01-13 15:56:00) [8]
> чайник1 (13.01.04 15:45) [24]
> делал все по Vlad, код выдает тот же пусто, а затем разрушительный
> сбой
подозреваю, тебе надо снять флажок:
Tools -> Debugger Options -> Language Exceptions -> Stop on Delphi Exceptions
чайник1 (2004-01-13 15:55:00) [9]
проверял по шагам, все проходит, но как встречает Applyupdates(0) ругается, по этой команде обновления передаются на сервер с клиента, это такая особенность компонента SimpleDataSet.
Danilka (2004-01-13 15:52:00) [10]
[24] чайник1 (13.01.04 15:45)
если "on E:Exception do showmessage(E.Message);" не помогло, значит ошибка в "куске кода".
Может все-таки попытаться использовать трассироку?
чайник1 (2004-01-13 15:49:00) [11]
делал по Academic результат тот же. Dat1 - это модуль во всеми таблицами и запросами.
чайник1 (2004-01-13 15:45:00) [12]
делал все по Vlad, код выдает тот же пусто, а затем разрушительный сбой
Vlad (2004-01-13 15:39:00) [13]
> чайник1 (13.01.04 15:33) [20]
Хорошо, а что такое dat1 ? Кстати, обрати внимание на Academic © (13.01.04 15:29) [17].
Что-то явно не то у тебя в коде.
Так что сообщение об ошибке показало ?
Academic (2004-01-13 15:38:00) [14]
Sorry!
If osn.ApplyUpdates(0) = 0 Then
osn.Refresh;
Academic (2004-01-13 15:37:00) [15]
Попробуй так:
If osn.ApplyUpdates(0) Then
osn.Refresh;
Т.к. в случае неудачи ApplyUpdates При рефреше выдается ошибка.
Проследи конфликты ApplyUpdates на обработчике.
чайник1 (2004-01-13 15:33:00) [16]
компиляция проходит нормально, osn-это таблица из базы через компонент SimpleDataSet. все прекрасно работало, писал проект по книге Шпака.
Vlad (2004-01-13 15:32:00) [17]
> чайник1 (13.01.04 15:30) [18]
Извиняюсь, я исправился в [15]
чайник1 (2004-01-13 15:30:00) [18]
on E:Exception showmessage(E.Message);
не понимает, наверное нужно подключить библиотеку, вы меня уж простите - это мой первый проект..
Academic (2004-01-13 15:29:00) [19]
Как вообще проходит компиляция?
Тут:
dat1.osn.Append; (либо избыток)
Далее:
osn.FieldByName("kod_unic").asinteger:=koli;
Johnmen (2004-01-13 15:28:00) [20]
Кто такой osn ?