operation cannot be performed on active transaction

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

operation cannot be performed on active transaction

Сообщение donpadlo » 18.08.2011 09:18:26

При выходе из программы вылезает следующая ошибка: operation cannot be performed on active transaction
Видимо както не так закрываю базу...

procedure Tconfigform.Button2Click(Sender: TObject);
begin
try
form1.MySQL50Connection1.HostName:=configform.hostmysql.Text;
form1.MySQL50Connection1.Password:=configform.passwordmysql.Text;
form1.MySQL50Connection1.UserName:=configform.usermysql.Text;
form1.MySQL50Connection1.DatabaseName:='mysql';
form1.MySQL50Connection1.Connected:=true;
form1.SQLTransaction1.Active:=true;
form1.SQLQuery1.Active:=false;
form1.SQLQuery1.SQL.Clear;
form1.SQLQuery1.sql.add('CREATE DATABASE IF NOT EXISTS '+configform.basemysql.Text+' CHARACTER SET utf8 COLLATE utf8_general_ci');
form1.SQLQuery1.ExecSQL;

except
ShowMessage(' Ошибка при выполнении SQL запроса.');
end;
form1.SQLQuery1.Active:=false;
form1.SQLTransaction1.Commit;
form1.MySQL50Connection1.Connected:=false;
end;


procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
form1.SQLQuery1.Active:=false;
form1.SQLTransaction1.Active:=false;
form1.MySQL50Connection1.Connected:=false;
end;

Кто подскажет в чем ошибаюсь?
Аватара пользователя
donpadlo
новенький
 
Сообщения: 58
Зарегистрирован: 18.08.2011 09:14:53

Re: operation cannot be performed on active transaction

Сообщение hinst » 18.08.2011 16:11:30

а на какой строке вываливается исключение :?:
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: operation cannot be performed on active transaction

Сообщение donpadlo » 18.08.2011 17:08:24

По F8 иду на
form1.MySQL50Connection1.Connected:=false;

Проходит без ошибок, ошибка появляется уже глубже в файле customform.inc - файлы самого лазаруса
Аватара пользователя
donpadlo
новенький
 
Сообщения: 58
Зарегистрирован: 18.08.2011 09:14:53

Re: operation cannot be performed on active transaction

Сообщение Владимир » 19.08.2011 19:14:30

Можно попробовать исключить ..Transaction:=False и ограничиться SQLQuery1.Active:=False; В отношении MySQLConnection.Connected:=False или True - вопрос. По опыту - достаточно указать SQLQuery1.Open (или Exec), как коннект устанавливается безотносительно состояния MySQLConnection.Connected
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: operation cannot be performed on active transaction

Сообщение sign » 20.08.2011 07:55:02

У меня было так.
Работал себе, писал прогу. Всё окей.
А назватра запускаю лазарус, запускаю прогу, а она мне при завершении вот такой же ответ.
Бился я бился. и плюнул.
Тупо по быстрому, жестоко копипастя и матерясь, сваял всё по новому, в новом проекте.
Вот только так и решил данный проблем.
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: operation cannot be performed on active transaction

Сообщение donpadlo » 11.09.2011 19:07:27

Сообщение об ошибке странным образом ушло само через несколько дней
Аватара пользователя
donpadlo
новенький
 
Сообщения: 58
Зарегистрирован: 18.08.2011 09:14:53


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 226

Рейтинг@Mail.ru