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] > > > > ------------------------------------ >