Caro Moacir,

negativo. Não houve resposta diferente a anterior.




________________________________
From: Prisma - GMAIL <[email protected]>
To: [email protected]
Sent: Mon, July 5, 2010 2:47:06 PM
Subject: Re: [delphi-br] MySQL server has gone away

  

Levy,

Faça esta alteração, acredito que deva resolver teu problema.

if not BD.Conexao.Connected then
BD.Conexao.Connected := True;

try

if not BD.Conexao.Intransaction then

BD.Conexao.StartTransaction;
BD.Query01.Close;
BD.Query01.SQL.Clear;
BD.Query01.SQL.Add(
'insert into fornecedores ( cnpj, razaosocial, telefone, contato,'+
'email ) values ( '+A01+','+A02+','+A03+','+A04+','+A05+')');
BD.Query01.ExecSQL;

BD.Conexao.Commit;
MessageBox( Handle, 'Fornecedor adicionado com sucesso', 'Informação', 64 );
passou := True;
except

on e: exception do
begin

BD.Conexao.Rollback;

MessageBox( Handle, 'Erro ao adicionar Fornecedor '+#13+e.message, 
'Informação', 64 );
passou := false;

end;
end

BD.01.Refresh;

Sucesso !!

Moacir

Em 05/07/2010 14:01, Levy Pereira escreveu:
> Prezados amigos,
>
> como um (por enquanto) iniciante com o MySQL estou apanhando, estou usando o 
> ZEOS para conexão. 
>
> A conexão é instável. Muitas vezes procede normalmente as consultas, 
> atualizações ou inserções, em outras o fatal erro acontece e somente volta a 
> conectar depois de sair e entrar no aplicativo.
>
> Este erro acontece algumas vezes quando o aplicativo fica ativo sem atividade.
>
> Antes de começar qualquer procedimento checo se há conexão:
> 
> if BD.Conexao.Connected = false then BD.Conexao.Reconnect;
> 
> Depois o processo:
> 
> BD.Query01.Close;
> BD.Query01.SQL.Clear;
> BD.Query01.SQL.Add('start transaction');
> BD.Query01.ExecSQL;
> BD.Query01.Close;
> BD.Query01.SQL.Clear;
> BD.Query01.SQL.Add(
> 'insert into fornecedores ( cnpj, razaosocial, telefone, contato,'+
> 'email ) values ( '+A01+','+A02+','+A03+','+A04+','+A05+')');
> BD.Query01.ExecSQL;
> BD.Query01.SQL.Clear;
> MessageBox( Handle, 'Fornecedor adicionado com sucesso', 'Informação', 64 );
> passou := True;
> BD.Query01.SQL.Add('commit');
> BD.Query01.ExecSQL;
> BD.Query01.SQL.Clear;
> BD.01.Refresh;
> 
> Grato pela ajuda!
> 
> Levy
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>





      

[As partes desta mensagem que não continham texto foram removidas]

Responder a