Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geelherme

Como testar se query foi executada com sucesso.

Recommended Posts

Olá.. eu estou estudando delphi recentemente e gostaria de fazer um programa que insere os dados num banco de dados mysql. Eu queria fazer online, mas não consegui, resolvi fazer local mesmo e já estou inserindo tudo nos campos certos. No meu programa, eu queria exibir uma mensagem somente caso o meu INSERT fosse realizado com sucesso. Se ele retornar um erro, eu quero que mensagem.Caption := "Erro"; mensagem.Visible := True;

Se fosse em PHP eu faria:

$variavel = mysql_query("QUERY");

if ($variavel){

..

}

 

No caso eu queria algo semelhante a:

variavel := SQLQuery1.SQL.Add('INSERT INTO testedelphi (nome, email) VALUES ("' + nome.Text+ '", "' + email.Text + '")');

if variavel then

...

end

embora eu saiba uqe isso não é possível.. alguém sabe como me ajudar? abaixo o meu código fonte:

 

SQLQuery1.Active := False;
   SQLQuery1.SQL.Clear;
   SQLQuery1.SQL.Add('INSERT INTO testedelphi (nome, email) VALUES ("' + nome.Text+ '", "' + email.Text + '")');
   SQLQuery1.ExecSQL;
   mensagem.Visible := True;

Compartilhar este post


Link para o post
Compartilhar em outros sites


try

SQLQuery1.Active := False;

SQLQuery1.SQL.Clear;

SQLQuery1.SQL.Add('INSERT INTO testedelphi (nome, email) VALUES ("' + nome.Text+ '", "' + email.Text + '")');

SQLQuery1.ExecSQL;

mensagem.Visible := True;

except

MessageDLG('Falha ao executar a query', mterror, [mbok],0);

Existe formas mais eficientes, usando outros recursos 'internos' do try..except mas eu não domino todo o try except, derrepente algum outro user completa este bloco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já me deu uma idéia de por onde começar...

eu só vou mudar, em vez de MessageDLG vou colocar mensagem.Caption igual a minha string de erro, e ativar o visible também...

vou tentar usando o try except, deopis posto como ficou o código... se alguém mais souber, complementa aí...

valeuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.