Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-16270
SnapIn
2004-01-23 17:48
2004.02.06
Создать экземпляр объекта по названию класса в строке


3-16140
sohat
2004-01-13 12:11
2004.02.06
Можно ли получить список полей запроса не выполняя оный?


1-16333
Sir Alex
2004-01-25 02:19
2004.02.06
Немодальная форма и Shortcuts в главной форме


1-16373
Ser_ega
2004-01-23 23:18
2004.02.06
Label


3-16107
Ruslan
2004-01-10 15:55
2004.02.06
BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский