Форум: "Начинающим";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизПроблема с IBX Найти похожие ветки
← →
Zoostal (2005-10-24 18:13) [0]Был у меня написан код. И работал он собственно очень хорошо, до тех пор как я не переставил винды. Теперь, спустя 2 месяца я вернулся к проекту, и он работает просто очень странно. Сначала когда я открыл проект, я удивился что компилятор ругается на IBTransaction.AllowAutoStart. Я закаментировал, все запустилось, но стало работать странно. Потом я вспомнил что надо бы IBX обновить, скачал с ibase.ru апдейт для Дельфи 7. Поставил. IBTransaction.AllowAutoStart теперь он понимает, но... все равно работает просто ужасно странно. Точнее не работает.
Вот код
Db:=TIBDataBase.Create(nil);
Tabl:=TIBTable.Create(nil);
q:=TIBQuery.Create(nil);
IBTransaction1:=TIBTransaction.Create(nil);
IBTransaction2:=TIBTransaction.Create(nil);
Db.DatabaseName:="c:\io.gdb";
Tabl.Database:=Db;
TablModems.Database:=Db;
Q.Database:=Db;
IBTransaction1.AddDatabase(db);
IBTransaction2.AddDatabase(db);
Q.Transaction:=IBTransaction2;
Tabl.Transaction:=IBTransaction1;
IBTransaction1.AllowAutoStart:=True;
IBTransaction1.AutoStopAction:=saCommit;
IBTransaction1.Params.Add("read_committed");
IBTransaction1.Params.Add("rec_version");
IBTransaction1.Params.Add("nowait");
Q.Close;
Q.SQL.Text:="Select * from ExTable where status=0";
Q.Open;
Например вот на последней строчке иногда происходит не понятное - дебуг до этой строчки доходит и выходит в небытие. То есть вроде как интефейс работает, форму можно таскать, но выполнение кода на Q.Open просто прекращается. При том через раз, то работает то нет.
Tabl.Open;
WasSet:=True;
Tabl.Locate("ID",q.fieldByName("ID").AsInteger,[loCaseInsensitive]);
Tabl.Edit;
Tabl.FieldByName("Status").AsInteger:=3;
Tabl.Post;
Tabl.Transaction.Commit;
Точно также затыкается на Tabl.Locate и т.п. При том буквально через раз... в чем дело понять не могу, мне кажется что-то с компонентами, потому что раньше все вроде работало.
Подскажите пожалуйста, в чем может быть дело ?
← →
Noosfert (2005-10-24 18:21) [1]вспомнил еще одно отличие, раньше у меня был InterBase 5.5 установлен, а теперь FireBird.
← →
Johnmen © (2005-10-24 18:41) [2]Что-то ты темнишь.
Ибо AutoStopAction+F1 однозначно говорит про наборы данных в этой связи...:)
← →
Zoostal (2005-10-25 10:47) [3]Я не темню. Во что AutoStopAction не ставь работает точно так же. А раньше все работало. Именно этот код работал отлмчно :(
← →
Johnmen © (2005-10-25 10:58) [4]Ещё вопрос.
>Q.Open;
>Например вот на последней строчке иногда происходит не понятное - дебуг
>до этой строчки доходит и выходит в небытие. То есть вроде как интефейс
>работает, форму можно таскать, но выполнение кода на Q.Open просто
>прекращается. При том через раз, то работает то нет.
Как определил, что прекращается?
← →
Noosfert (2005-10-25 11:11) [5]Кстати, все это реализовано в потоке, хотя это и не так важно.
В дебуге идешь по строчкам и на Tabl.Locate("ID",q.fieldByName("ID").AsInteger,[loCaseInsensitive]) просто дальше ничего не идет. Ну прям совсем. То есть на следующую строчку он уже не приходит и все...
← →
Johnmen © (2005-10-25 11:16) [6]>Кстати, все это реализовано в потоке, хотя это и не так важно.
М.б. важно.
Где соединение с БД?
>Tabl.Locate("ID",q.fieldByName("ID").AsInteger,[loCaseInsensitive])
Зачем loCaseInsensitive??? Убери!
← →
Noosfert (2005-10-25 11:51) [7]убрал, ничего не изменилось.
Соединение с БД
Db.DatabaseName:="c:\io.gdb";
Db.DefaultTransaction:=IBTransaction1;
Db.Params.Add("user_name=sysdba");
Db.Params.Add("password=masterkey");
Db.LoginPrompt:=False;
Db.Open;
SqlDialect и прочие свойства я не трогал, все default"овое как конструктор их создает.
← →
Johnmen © (2005-10-25 13:44) [8]Ну нет у меня правдоподобных версий...
Но одно могу сказать наверняка: использование TIBTable м.привести к необъяснимым явлениям...:)
А у тебя его применение и вовсе неуместно. Ибо всё это делается простыми запросами UPDATE ...
← →
Noosfert (2005-10-25 13:57) [9]а что есть могут быть проблемы от IBTable ? сейчас попробую все заменить. Спасибо большое, в любом случае.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c