Topic: ошибка при отмене
если при подключении к mysql нажимаю отмена, то получаю ошибку
My Visual Database → Russian → ошибка при отмене
если при подключении к mysql нажимаю отмена, то получаю ошибку
Подключение не было установлено, поэтому возникает ошибка.
Вы можете скриптом перехватить данную ошибку и вывести свое сообщение или обработать это каким то другим образом.
// global event for all exceptions related database
function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
begin
// if not connected, for MySQL
if Pos('Code: 10061', Msg)>0 then
begin
result := True; // to prevent system message
// Own message
MessageBox('Not connected.', 'Error', MB_OK+MB_ICONWARNING);
end;
end;
Либо вы можете создать свой диалог подключения к серверу и например закрывать приложение если подключение не удалось, либо реализовать что-то другое.
о да, то что нужно..
решил сделать так
// глобальное событие для всех баз данных, связанных с исключениями
function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
begin
// если не подключен, для MySQL
if Pos('Code: 10061', Msg)>0 then
begin
result := True; // для предотвращения системного сообщения
// сообщение
MessageBox('Произошла ошибка либо Вы отменили соединение с базай данных MySQL.', 'Ошибка либо отмена соединения ', MB_ABORTRETRYIGNORE+MB_ICONINFORMATION);
end;
end;
как я понимаю в моем случае возможные ответы от пользователя
IDABORT
IDRETRY
IDNO
еще я заметил, что по умолчанию действи не происходит но в ini меняется mysql на sqlite, то есть при нажатии павтор мне нужно изменить запись в ini с sqlite на mysql перезагрузить программу..
А вот как быть к кнопкой отмена , возможно ли поменять эту подпись..?
ХМ перезагруил MVDB и стало происходить следующее
запись в ini остается mysql
кода жму Повтор винда начинает тормозить...
именно... виндовс начинает переодически зависать
вот такая штука присходит при клике на кнопке Повтор
как завершить программу?
Пожалуйста, прикладывайте проект.
вот
и еще если не затруднит строчки 660-682
там варианты загрузки программы, почему-то frmLogin.Hide вызывает ошибку вызывает ошибку
вот такая штука присходит при клике на кнопке Повтор
как завершить программу?
В самом конце скрипта
begin
SQLExecute('ATTACH DATABASE ''setting\sqlite.db'' as ''SETTING''');
end.
вы пытаетесь подключить sqlite базу, это не будет работать, если проект предназначен для MySQL подключения, что вызывает ошибку зависания в памяти.
вот
и еще если не затруднит строчки 660-682
там варианты загрузки программы, почему-то frmLogin.Hide вызывает ошибку вызывает ошибку
Нельзя в событии формы OnShow скрывать форму, но можно закрыть
frmLogin.Close;
спасибо!
подключение sqlite переделаю на ini...
а вот frmLogin главная форма.. закрывать нельзя
Теперь новая ошибка..
я удалил все строчки связанные со второй sqlite и получил новую ошибку
ошибка уходит когда я убираю все условия из frmLogin_OnShow
все понял, программа не подключилась к mysql . а форма пытается записать в базу информацию
сделал так
function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
var
ini : TInifile;
begin
ini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
// если не подключен, для MySQL
if Pos('Code: 10061', Msg)>0 then
begin
result := True; // для предотвращения системного сообщения
// сообщение
if IDRETRY = MessageBox('Произошла ошибка либо Вы отменили соединение с MySQL.', 'Ошибка либо отмена соединения ', MB_RETRYCANCEL+MB_ICONINFORMATION)then begin
OpenFile('start.bat');
frmLogin.Close;
end else
ini.WriteString('Options', 'DBMS', 'sqlite');
OpenFile('start.bat')
frmLogin.Close;
end;
end;
My Visual Database → Russian → ошибка при отмене
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi