Attemp to reopen a open cursor.

03/06/2004

0

Alguem ja viu esse erro??? Acontece quando abro um dataset em tempo de execução...

DataSet.Open;

O que fazer?

Grato.


G1b4

G1b4

Responder

Posts

03/06/2004

Paulo_amorim

Olá

Seila, só interpretando o erro, parece (literalmente) que vc está reabrindo um cursor jah aberto...

Vc já tentou colocar um DataSet.Close antes?

DataSet.Close;
DataSet.Open;

Até+


Responder

03/06/2004

G1b4

Caro Paulo, eu jah fiz isso...

Na minha aplicação eu fecho e depois o abro, pois o SQL possue parametros....

:( :( :( :( :( :( :( :(

Mas agradeço pela ajuda...


Responder

08/05/2020

Assis

Caro Paulo, eu jah fiz isso...

Na minha aplicação eu fecho e depois o abro, pois o SQL possue parametros....

:( :( :( :( :( :( :( :(

Mas agradeço pela ajuda...




Amigo você conseguiu resolver o problema? Como conseguiu?
Responder

30/11/2023

Anderson Oliveira

Caro Paulo, eu jah fiz isso...

Na minha aplicação eu fecho e depois o abro, pois o SQL possue parametros....

:( :( :( :( :( :( :( :(

Mas agradeço pela ajuda...




Amigo você conseguiu resolver o problema? Como conseguiu?




Resolvi mudando o select dentro de cada query mesmo que fosse a mesma consulta, mudava o nome do parametro, por ex:
Query 01 : SELECT * FROM MOV_ESTOQUE where CODIGO = :pcod'
Query 02 : SELECT * FROM MOV_ESTOQUE where CODIGO = :pcod0'

E assim sucessivamente...
Responder

30/11/2023

Arthur Heinrich

Geralmente, quando se pretende utilizar uma query múltiplas vezes, utilizando parâmetros, precisamos utilizar o "prepare".

- Seta o texto da query
- Executa o método Prepare

loop
- Seta os parâmetros
- Open

Se você executa o close, o cursor é encerrado, reduzindo a performance.

O método Prepare avisa para o driver/banco, que o cursor deve ser mantido aberto para múltiplas execuções com parâmetros diferentes.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar