Gallyleus Postado Setembro 16, 2008 Denunciar Share Postado Setembro 16, 2008 Pessoal estou com o seguinte problema agora que esta relacionado com o update meu codigo e o seguinte:varreg:integer;beginreg:=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 Keywordtoken:(nome=?,email=?,telefone=?)line number: 1Obrigado por mais uma ajuda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frega Postado Setembro 16, 2008 Denunciar Share Postado Setembro 16, 2008 (editado) 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.execSQLmas 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 Setembro 16, 2008 por Frega Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --gallyleus -- Postado Setembro 17, 2008 Denunciar Share Postado Setembro 17, 2008 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 1O codigo e este:varreg:string;beginreg:=(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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frega Postado Setembro 17, 2008 Denunciar Share Postado Setembro 17, 2008 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 regQclientes.sql.add('UPDATE Clientes Set nome = '+QuotedStr(ednome.text)+', email = '+QuotedStr(edmail.text)+' where chave = '+QuotedStr(reg)); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gallyleus Postado Setembro 17, 2008 Autor Denunciar Share Postado Setembro 17, 2008 Valeu meu caro amigo funcionou.Ate proxima Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gallyleus
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
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.