Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизКод ошибки пустой Найти похожие ветки
← →
чайник1 (2004-01-13 14:48) [0]Уважаемые мастера, помогите, прога то работает то нет, соединение с сервером через компоненты DbExpress, выдает сообщение код ошибки пусто, а при продолжении работы выдает сообщение разрушительный сбой. Я конечно анализирую все через конструкцию try...except, но от этого не легче, сервер вроде работает, ругается на Applyupdates. может у кого-то была такая ситуация, вчера все работало. Убрал все что было сегодня добавлено, результат все тот же. Проверил все таблицы на сервере, просмотры, доступ.Соединение по новой создал в модуле Datamodule.Спасибо.
← →
чайник1 (2004-01-13 15:05) [1]Народ, откликнитесь кто-нибудь...
← →
Johnmen (2004-01-13 15:06) [2]Ау
← →
чайник1 (2004-01-13 15:09) [3]совет какой..хотя бы намек на него
← →
Vlad (2004-01-13 15:11) [4]намек на совет: приведи код чтоли ?
← →
Johnmen (2004-01-13 15:12) [5]книги? 17 строка?
← →
Anatoly Podgoretsky (2004-01-13 15:13) [6]Плохо тебе парень.
← →
Danilka (2004-01-13 15:14) [7]ой, боюсь, приведет он сейчас весь свой код, берегись народ!
← →
чайник1 (2004-01-13 15:16) [8]про код вы явно шутите, проект большой. ошибка в чем-то глобальном, у меня полетел первый сервер, пришлось всю базу тащить на другой, после этого ошибка.
← →
Vlad (2004-01-13 15:18) [9]
> про код вы явно шутите
Ага, мы тут вобще народ веселый :-)
> у меня полетел первый сервер, пришлось всю базу тащить на
> другой, после этого ошибка.
Ну.. как бы, с этого и надо было начинать :-)
Коннект к базе есть вобще или нет ?
← →
Johnmen (2004-01-13 15:18) [10]Аккуратней !!! Может и второй сервер полететь !
← →
чайник1 (2004-01-13 15:20) [11]кусочек кода вот:
if StrToFloat(ob)-StrToFloat(ob1)>=StrToFloat(nowkred.l2.text) then
begin
dat1.osn.Append;
osn.FieldByName("kod_unic").asinteger:=koli;
osn.fieldbyname("kod_kl").asinteger:=klkod.asinteger;
osn.fieldbyname("kod_z").asinteger:=q_zai1kod.asinteger;
osn.fieldbyname("kred").asfloat:=strtofloat(nowkred.l1.text);
osn.fieldbyname("sum_fact").asfloat:=strtofloat(nowkred.l2.text);
osn.fieldbyname("proz_stav").asfloat:=StrTofloat(nowkred.l3.text);
osn.fieldbyname("peni").asfloat:=StrTofloat(nowkred.l4.text);
osn.fieldbyname("nom_dog").asstring:=nowkred.l5.text;
osn.fieldbyname("date1").asdatetime:=StrToDate(vr1);
osn.fieldbyname("date2").asdatetime:=StrToDate(vr2);
osn.fieldbyname("dat_dog").asdatetime:=StrToDate(vr3);
try
osn.post;
osn.ApplyUpdates(0); {ругает с этой команды}
osn.Refresh;
kred.refresh;
s_zaim.Active:=true;
kred.Locate("kod_unic",znak,[]);
osn.Locate("kod_unic",fieldbyname("kod_unic").AsInteger,[]);
except
showmessage("ошибка записи на сервер");
end;
end
else
showmessage("сумма остатков меньше");
end
← →
Danilka (2004-01-13 15:24) [12][11] чайник1 (13.01.04 15:20)
это случайный кусок кода из "большого проекта"?
ты-же сказал в первом посте:
"соединение с сервером через компоненты DbExpress, выдает сообщение код ошибки пусто"
и где в этом кусочке кода соединение?
лучше ответь на: [9] Vlad © (13.01.04 15:18)
← →
чайник1 (2004-01-13 15:24) [13]соединение есть, ведь она то пишет в базу, то нет, соединение стабильное, я же все еще и смотрю через EnterpriceManager. и запущен Query Analyzer.в Datamodule все соединяется.
← →
Vlad (2004-01-13 15:25) [14]try
.....
except
on E:Exception showmessage(E.Message);
end;
О результатах доложи.
← →
Vlad (2004-01-13 15:26) [15]сорри
on E:Exception do showmessage(E.Message);
← →
Johnmen (2004-01-13 15:28) [16]Кто такой osn ?
← →
Academic (2004-01-13 15:29) [17]Как вообще проходит компиляция?
Тут:
dat1.osn.Append; (либо избыток)
Далее:
osn.FieldByName("kod_unic").asinteger:=koli;
← →
чайник1 (2004-01-13 15:30) [18]on E:Exception showmessage(E.Message);
не понимает, наверное нужно подключить библиотеку, вы меня уж простите - это мой первый проект..
← →
Vlad (2004-01-13 15:32) [19]
> чайник1 (13.01.04 15:30) [18]
Извиняюсь, я исправился в [15]
← →
чайник1 (2004-01-13 15:33) [20]компиляция проходит нормально, osn-это таблица из базы через компонент SimpleDataSet. все прекрасно работало, писал проект по книге Шпака.
← →
Academic (2004-01-13 15:37) [21]Попробуй так:
If osn.ApplyUpdates(0) Then
osn.Refresh;
Т.к. в случае неудачи ApplyUpdates При рефреше выдается ошибка.
Проследи конфликты ApplyUpdates на обработчике.
← →
Academic (2004-01-13 15:38) [22]Sorry!
If osn.ApplyUpdates(0) = 0 Then
osn.Refresh;
← →
Vlad (2004-01-13 15:39) [23]
> чайник1 (13.01.04 15:33) [20]
Хорошо, а что такое dat1 ? Кстати, обрати внимание на Academic © (13.01.04 15:29) [17].
Что-то явно не то у тебя в коде.
Так что сообщение об ошибке показало ?
← →
чайник1 (2004-01-13 15:45) [24]делал все по Vlad, код выдает тот же пусто, а затем разрушительный сбой
← →
чайник1 (2004-01-13 15:49) [25]делал по Academic результат тот же. Dat1 - это модуль во всеми таблицами и запросами.
← →
Danilka (2004-01-13 15:52) [26][24] чайник1 (13.01.04 15:45)
если "on E:Exception do showmessage(E.Message);" не помогло, значит ошибка в "куске кода".
Может все-таки попытаться использовать трассироку?
← →
чайник1 (2004-01-13 15:55) [27]проверял по шагам, все проходит, но как встречает Applyupdates(0) ругается, по этой команде обновления передаются на сервер с клиента, это такая особенность компонента SimpleDataSet.
← →
Vlad (2004-01-13 15:56) [28]
> чайник1 (13.01.04 15:45) [24]
> делал все по Vlad, код выдает тот же пусто, а затем разрушительный
> сбой
подозреваю, тебе надо снять флажок:
Tools -> Debugger Options -> Language Exceptions -> Stop on Delphi Exceptions
← →
Danilka (2004-01-13 15:56) [29][27] чайник1 (13.01.04 15:55)
просто ругается? не выкидывает на блок except?
мистика :))
← →
Danilka (2004-01-13 15:57) [30][28] Vlad © (13.01.04 15:56)
угу, вероятно в этом дело а никакая не мистика. :))
← →
чайник1 (2004-01-13 16:01) [31]убрал галочку на Stop.
теперь при добавлении или изменении записи выдает сразу ошибку разрушительный сбой без кода ошибки
← →
Vlad (2004-01-13 16:03) [32]
> чайник1 (13.01.04 16:01) [31]
Ты можешь точно указать на какой строчке возникает эта ошибка ?
← →
чайник1 (2004-01-13 16:04) [33]да, на строке ApplyUpdates(0), т.е. при занесении изменений на сервер.
← →
sniknik (2004-01-13 16:33) [34]говориш ошибок нет
Set MaxErrors to –1 to indicate that there is no limit to the number of errors.
а сам их в ноль разрешонных вгоняеш
поставь
ApplyUpdates(-1)
← →
Vlad (2004-01-13 16:38) [35]
> чайник1 (13.01.04 16:04) [33]
Кусок кода, который ты привел, находится внутри модуля Dat1 ?
Если так, то убери все ссылки на него.
Вобще что-то странное. Насколько я помню, "разрушительный сбой" - это Access Violation по нашему :-) Т.е. обращение к объекту, который nil...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.037 c