Levy,

Sua base esta na web, pelo que vi em sua outra mensagem.

Faça o seguinte:

- Abra a conexão
- Faça as operações desejadas
- Feche a conexão

Caso vc precise apresentar os dados do site no teu sistema:

- conecte
- faça o select desejado, transfira os dados para um clientdataset ou 
para uma tabela de memória
- desconecte
- Ao efetuar qualquer atualização de dados na base local, atualize na 
base remota tb.

Para atualizar os dados no banco de dados do site:

- conecte
- faça a atualização necessária
- desconecte


Não deixe a conexão aberta...
Tenho o mesmo cenário aqui e da forma descrita acima funciona 100% .. 
sem problemas.

Sucesso !!

Moacir


Em 05/07/2010 17:04, Levy Pereira escreveu:
> Caro Moacir,
>
> negativo. Não houve resposta diferente a anterior.
>
>
>
>
> ________________________________
> From: Prisma - GMAIL<prism...@gmail.com>
> To: delphi-br@yahoogrupos.com.br
> 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