При выходе из программы вылезает следующая ошибка: 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;
Кто подскажет в чем ошибаюсь?
operation cannot be performed on active transaction
Модератор: Модераторы
а на какой строке вываливается исключение 
По F8 иду на
form1.MySQL50Connection1.Connected:=false;
Проходит без ошибок, ошибка появляется уже глубже в файле customform.inc - файлы самого лазаруса
form1.MySQL50Connection1.Connected:=false;
Проходит без ошибок, ошибка появляется уже глубже в файле customform.inc - файлы самого лазаруса
Можно попробовать исключить ..Transaction:=False и ограничиться SQLQuery1.Active:=False; В отношении MySQLConnection.Connected:=False или True - вопрос. По опыту - достаточно указать SQLQuery1.Open (или Exec), как коннект устанавливается безотносительно состояния MySQLConnection.Connected
У меня было так.
Работал себе, писал прогу. Всё окей.
А назватра запускаю лазарус, запускаю прогу, а она мне при завершении вот такой же ответ.
Бился я бился. и плюнул.
Тупо по быстрому, жестоко копипастя и матерясь, сваял всё по новому, в новом проекте.
Вот только так и решил данный проблем.
Работал себе, писал прогу. Всё окей.
А назватра запускаю лазарус, запускаю прогу, а она мне при завершении вот такой же ответ.
Бился я бился. и плюнул.
Тупо по быстрому, жестоко копипастя и матерясь, сваял всё по новому, в новом проекте.
Вот только так и решил данный проблем.
Сообщение об ошибке странным образом ушло само через несколько дней
