Fórum cursor not returned from query #365440
24/10/2008
0
Ja fiz varias pesquisas no forum mas não achei nenhuma solução mais concreta sobre este assunto.
Estou usando D7 + DBExpress + Firebird 2.0
Para as minhas pesquisas eu uso o commandtext do clientdataset com parametros. Até hoje estava funcionando tudo OK até eu começar a usar o comando UPDATE no CDS, sempre na hora de ativar o CDS ele gera a seguinte mensagem de erro:
cursor not returned from query
Tanto usando o componente QUERY (dbx) quanto o CDS ele gera este erro. Ja foi sugerido para deixar tudo em maiusculo, mas não houve sucesso, e outras tentativas sem sucesso.
No console do IBEXPERT por exemplo eu executo o comando e ele funciona perfeitamente, mas na hora de jogar no DELPHI..morreu....
Se alguem puder dar uma luz....eu agradeço muito...........
Abraços.
Badboysjc
Curtir tópico
+ 0Posts
28/10/2008
Badboysjc
UP
Gostei + 0
28/10/2008
Emerson Nascimento
use
.Execute ou
.ExecSQL
.Open serve apenas para [b:e478e332ae]select[/b:e478e332ae]
Gostei + 0
01/11/2008
Badboysjc
Caro Emerson, Boa Tarde !!
estou usando da seguinte forma.
with dmprincipal.sqlqryClientes do
Begin
sqlqry.close;
sqlqry.sql.clear;
sqlqry.sql.add(´update set clientes status =´T´ where bairro =:pbairro´)
sqlqry.ExecSQL
end;
Ainda continua o erro.
Se puder dar uma força obrigado.
Abraços.
Gostei + 0
01/11/2008
Martins
Caro Emerson, Boa Tarde !!
estou usando da seguinte forma.
with dmprincipal.sqlqryClientes do
Begin
sqlqry.close;
sqlqry.sql.clear;
sqlqry.sql.add(´update set clientes status =´T´ where bairro =:pbairro´)
sqlqry.ExecSQL
end;
Ainda continua o erro.
Se puder dar uma força obrigado.
Abraços.[/quote:4029ec2956]
Já tentou assim:
with dmprincipal.sqlqryClientes do Begin sqlqry.close; sqlqry.sql.clear; sqlqry.sql.add(´UPDATE CLIENTES SET STATUS =´T´ WHERE BAIRRO =:PBAIRRO´) sqlqry.ExecSQL end;
Boa sorte.
Gostei + 0
01/11/2008
Emerson Nascimento
Caro Emerson, Boa Tarde !!
estou usando da seguinte forma.
with dmprincipal.sqlqryClientes do
Begin
sqlqry.close;
sqlqry.sql.clear;
sqlqry.sql.add(´update set clientes status =´T´ where bairro =:pbairro´)
sqlqry.ExecSQL
end;
Ainda continua o erro.
Se puder dar uma força obrigado.
Abraços.[/quote:e747394bab]
você está usando um parâmetro (pbairro) mas não o está preenchendo. outra coisa, já observada pelo Martins: a sintaxe está errada.
deveria ser assim:
with dmprincipal.sqlqryClientes do Begin sqlqry.close; sqlqry.sql.clear; sqlqry.sql.add(´update CLIENTES set status =´T´ where bairro =:pbairro´) sqlqry.params.parambyname(´pbairro´).asstring := BAIRRO_DESEJADO; //** falta esta linha**// sqlqry.ExecSQL; end;
Gostei + 0
04/11/2008
Badboysjc
Caro Emerson, Boa Tarde !!
estou usando da seguinte forma.
with dmprincipal.sqlqryClientes do
Begin
sqlqry.close;
sqlqry.sql.clear;
sqlqry.sql.add(´update set clientes status =´T´ where bairro =:pbairro´)
sqlqry.ExecSQL
end;
Ainda continua o erro.
Se puder dar uma força obrigado.
Abraços.[/quote:8021504602]
você está usando um parâmetro (pbairro) mas não o está preenchendo. outra coisa, já observada pelo Martins: a sintaxe está errada.
deveria ser assim:
with dmprincipal.sqlqryClientes do Begin sqlqry.close; sqlqry.sql.clear; sqlqry.sql.add(´update CLIENTES set status =´T´ where bairro =:pbairro´) sqlqry.params.parambyname(´pbairro´).asstring := BAIRRO_DESEJADO; //** falta esta linha**// sqlqry.ExecSQL; end;
Valeu amigos !!
Estava faltando o parametro. e só pra finalizarmos de vez, tem como SETAR dos campos ao mesmo tempo com um UPDATE, que eu pesquisei e me perdi, que não tinha usado ainda este comando.
Obrigado e Abraços ao dois.
Gostei + 0
04/11/2008
Emerson Nascimento
tem sim:
with dmprincipal.sqlqryClientes do Begin sqlqry.close; sqlqry.sql.clear; sqlqry.sql.add(´update CLIENTES set status =´T´, distancia = 30 where bairro =:pbairro´) sqlqry.params.parambyname(´pbairro´).asstring := BAIRRO_DESEJADO; //** falta esta linha**// sqlqry.ExecSQL; end;
Gostei + 0
06/11/2008
Badboysjc
with dmprincipal.sqlqryClientes do Begin sqlqry.close; sqlqry.sql.clear; sqlqry.sql.add(´update CLIENTES set status =´T´, distancia = 30 where bairro =:pbairro´) sqlqry.params.parambyname(´pbairro´).asstring := BAIRRO_DESEJADO; //** falta esta linha**// sqlqry.ExecSQL; end;
Obrigado,grande Emerson !!
Me ajudou pra caramba, até a próxima.
Abraços.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)