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

Update


Gallyleus

Pergunta

Pessoal estou com o seguinte problema agora que esta relacionado com o update meu codigo e o seguinte:

var

reg:integer;

begin

reg:=strtoint(registro.Text);

qclientes.close;

Qclientes.sql.Clear;

Qclientes.SQL.Add ('UPDATE Clientes SET (nome=:A,email=:B,telefone=:C)where chave="+reg+" ');

Qclientes.Params[0].AsString:=ednome.text;

Qclientes.Params[1].AsString:=edmail.text;

Qclientes.Params[2].Asfloat:=strtoint(edtel.text);

qclientes.ExecSQL;

quando executo o codigo tenho o seguinte erro:

Invalid use of Keyword

token:(nome=?,email=?,telefone=?)

line number: 1

Obrigado por mais uma ajuda

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

cara eu nunca usei set where... mas o que posso te dizer é que parece estranho essa parte de nome:=a e depois os query.params...

derrepente tente fazer o seguinte...

query.sql.add('UPDATE Clientes Set(nome = '+ednome.text'+', email = '+edemail.text'+' where chave = '+QuotedStr(reg));

ai não precisa usar os QClientes.params só dar um qClientes.execSQL

mas tambem da pra fazer difirente... asim:

datasource.dataset.edit;

query.close;

query.sql.clear;

query.sql.add(select * from clientes where chave = 'reg');

query.open;

queryNome.value:=ednome.text;

queryTelefone.value:=edmail.text;

queryedtel.value:=StrToInt(edtel.text);

datasource.dataset.post;

é um processo maior você pega os dados carrega na aplicaçao altera, e grava no banco... mas a ideia é plausivel tambem :D

Editado por Frega
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --gallyleus --

Obrigado amigo pela ajuda mas não funcionou tive que alterar duas duas aspas que estvam a mais no codigo que você me enviou mesmo deu um erro de

invalid use of keyword

token (nome

line number 1

O codigo e este:

var

reg:string;

begin

reg:=(registro.Text);

qclientes.close;

Qclientes.sql.Clear;

Qclientes.sql.add('UPDATE Clientes Set(nome = '+ednome.text+', email = '+edmail.text+' where chave = '+QuotedStr(reg));

qclientes.ExecSQL;

Link para o comentário
Compartilhar em outros sites

  • 0

o problema ali é que anted do nome voce abriu um parenteses... tente tirar o parenteses da frente do nome... e tente por QuotedStr em todos os campos não só no reg

Qclientes.sql.add('UPDATE Clientes Set nome = '+QuotedStr(ednome.text)+', email = '+QuotedStr(edmail.text)+' where chave = '+QuotedStr(reg));

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...