Apagar registros DElphi

29/03/2013

0

Olá.
Tenho um aplicativo simples em C++ Borland que usa o ZEOS.
Transcreví as mesmas funções para Delphi mas não estou conseguindo apagar os dados.
A rotina é:
   DataModule2.ZQuery1.Close;
   DataModule2.ZQuery1.SQL.Clear;
   DataModule2.ZQuery1.SQL.Append(''delete from SAMSUNG'');
   DataModule2.ZQuery1.SQL.Append(''where CODIGOS = (''+QuotedStr(Str)+ '')'');
   DataModule2.ZQuery1.ExecSQL;
   Application.MessageBox(''O dado foi excluido com sucesso'',''*Aviso*'',MB_ICONHAND+ MB_OK);

No programa em C++,essas linhas dão conta do recado(só que com a síntese C++),ja no Delphi os registros são apagados mas se eu abrir o programa novamente eles'' voltam'',isto é,não está apagando no banco.
Alguma sugestão?
Vtrx

Vtrx

Responder

Posts

30/03/2013

William

Tente assim:

DataModule2.ZQuery1.Close;
DataModule2.ZQuery1.SQL.Clear;
DataModule2.ZQuery1.SQL.Add('delete from SAMSUNG');
DataModule2.ZQuery1.SQL.Add('where CODIGOS = ' + QuotedStr(Str));
DataModule2.ZQuery1.ExecSQL;
Application.MessageBox('O dado foi excluido com sucesso','*Aviso*',MB_ICONHAND+ MB_OK);

Responder

31/03/2013

Vtrx

Não resolveu,eu não estou entendendo.
Responder

31/03/2013

William

Colega acabei de testar esse mesmo código na minha máquina, usando uma base dados no Firebird 2.5 e funcionou normalmente!

Qual o tipo desse campo "CODIGOS" (VARCHAR ou INTEGER)?

Qual SGBD vc está usando?
Responder

31/03/2013

Vtrx

Conseguí a solução assim:
DataModule2.ZQuery1.SQL.Clear;
DataModule2.ZQuery1.SQL.Add('delete from SAMSUNG');
DataModule2.ZQuery1.SQL.Append('where CODIGOS = ('+QuotedStr(Str)+')');
DataModule2.ZQuery1.ExecSQL;
DataModule2.ZConnection1.Commit;
Application.MessageBox('O dado foi excluido com sucesso','*Aviso*',MB_ICONHAND+ MB_OK);
Responder

31/03/2013

William

Imagino que a propriedade AutoCommit do seu ZConnection esteja setada para FALSE então!

Normalmente ela vem como TRUE e não é necessário esse comando commit explícito.
Responder

31/03/2013

Vtrx

Pois é,as vezes eu acho que ja conheço o suficiente e sempre falta algo.
Obrigado pela ajuda pois me incentivou que estava no caminho ceeto para achar o erro.
Responder

31/03/2013

Vtrx

Oque me confubdiu foi que o aplicativo em C++ o zeos esta setado igualmente como esta no Delphi e mesmo assim 'commitou'...
Responder

31/03/2013

William

Disponha pela ajuda, estou finalizando o tópico!

Qualquer dúvida estamos por aí ....
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar