Ir para conteúdo
Fórum Script Brasil
  • 0

Erro No Sql


Guest Kleber Quilez

Pergunta

Guest Kleber Quilez

Ola Estou Montando um Sistema que não é o Primeiro mas estou com um erro que não consigo enxergar onde é..

Dados.SQLQueryAltera.Close;

Dados.SQLQueryAltera.SQL.Clear;

Dados.SQLQueryAltera.SQL.Add('Update clientes set ' +

'Data = ' + QuotedStr(EditData.Text) +

'Razao_social = ' + QuotedStr(EditRazao.Text) +

'Nome_fantasia = ' + QuotedStr(EditFantasia.Text) +

'Endereco = ' + QuotedStr(EditEndereco.Text) +

'Bairro = ' + QuotedStr(EditBairro.Text) +

'Cidade = ' + QuotedStr(EditCidade.Text) +

'Estado = ' + QuotedStr(EditEstado.Text) +

'CEP = ' + QuotedStr(EditCEP.Text) +

'CNPJ = ' + QuotedStr(EditCNPJ.Text) +

'IE = ' + QuotedStr(EditIE.Text) +

'Telefone = ' + QuotedStr(EditTelefone.Text) +

'Fax = ' + QuotedStr(EditFax.Text) +

'Email = ' + QuotedStr(EditEmail.Text) +

'Contato = ' + QuotedStr(EditContato.Text) +

'Observacao = ' + QuotedStr(EditObs.Text) +

' where Codigo= ' + EditCodigo.Text + ';');

Dados.SQLQueryAltera.ExecSQL;

ShowMessage('ALTERADO com sucesso!');

Após Execultar o Código o Delphi fala que tem um erro na SQL mas em outros Programas meus Sempre usei da Mesma Maneira e nunca tive Problemas, Alguém pode me dizer onde esta o Erro.

Project xxx.exe raised Exception class EZSQLException with message ' SQL error: You have an error in your SQL Sintax;

Check the manual that corresponds to your MySQL server version for the right sintax to use near 'Razao_Social = 'Teste'Nome_Fantasia = 'teste' at line 1. Process stopped. Use Step or Run to Continue.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá

Bom, olhando sua sql, vi que está esquecendo de um detalhe, o uso da vírgula para separação dos parâmetros de valores que a eles está atribuindo. Veja:

Dados.SQLQueryAltera.SQL.Add('Update clientes set ' +
'Data = ' + QuotedStr(EditData.Text) +', '+
'Razao_social = ' + QuotedStr(EditRazao.Text) +', '+
'Nome_fantasia = ' + QuotedStr(EditFantasia.Text) +', '+
'Endereco = ' + QuotedStr(EditEndereco.Text) +', '+
'Bairro = ' + QuotedStr(EditBairro.Text) +', '+
'Cidade = ' + QuotedStr(EditCidade.Text) +', '+
'Estado = ' + QuotedStr(EditEstado.Text) +', '+
'CEP = ' + QuotedStr(EditCEP.Text) +', '+
'CNPJ = ' + QuotedStr(EditCNPJ.Text) +', '+
'IE = ' + QuotedStr(EditIE.Text) +', '+
'Telefone = ' + QuotedStr(EditTelefone.Text) +', '+
'Fax = ' + QuotedStr(EditFax.Text) +', '+
'Email = ' + QuotedStr(EditEmail.Text) +', '+
'Contato = ' + QuotedStr(EditContato.Text) +', '+
'Observacao = ' + QuotedStr(EditObs.Text) +', '+
' where Codigo= ' + EditCodigo.Text');
Use a sql na forma como ela está acima, note que adicionei ', '+ em todas as linhas e removi o ponto e vírgula que estava usando após passar o valor para a cláusula where. Creio que isso ai deverá solucionar o problema no update. Qualquer coisa, post ai de novo o resultado. Att Errata:
'Observacao = ' + QuotedStr(EditObs.Text) +', '+
' where Codigo= ' + EditCodigo.Text');

Está sobrando o ', '+ da linha onde passa o valor ao parâmetro Observacao. Não existe "," entre o último parâmetro e o where

Att

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...