Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

iNando

erro no recordset

Recommended Posts

ola estou com um problema

o erro é esse

 

Operação não permitida quando o objeto está aberto.

 

 

sqlferiado = "select * from feriados where data like '"&tdata2&"'"
   set rsqlf=conn.execute(sqlferiado)
   rsqlf.CursorType = 2
   if not rsqlf.eof then
	  rsqlf.MoveLast 
 	tdom="<tr><td bgcolor='#008800' align='right'><font class='default'><font color='white'><a class=link2 href=vercompromisso.asp?dia="&tdata&">"&conter&"</a></font>"
   end if
   Set rsqlf = Nothing

o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a linha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

rsqlf.CursorType = 2

 

 

ja testei com 0, 1, 2 e 3 da o mesmo erro

 

outra coisa se nao tem essa linha ele da outro erro

 

O conjunto de linhas não oferece suporte para busca regressiva.

 

nessa linh rsqlf.MoveLast

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao pode mudar o cursor depois de abrir o rs

 

deve usar a forma classica de usar recordsets sem ser com o execute mas com o open mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o que o Mario disse, mas se você precisa definir o cursor você tem que riar o objeto de recordset e abrir assim

 

rs.open, sql, conexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

duvida. Mas qual seria a diferença então

 

desse

 

set rsqlf=conn.execute(sqlferiado)

para este

 

rs.open, sql, conexao

não tem como definir o cursor antes na hora da criação do record?

pois tentei mas não funcionou

Compartilhar este post


Link para o post
Compartilhar em outros sites

o primeiro é como se fosse um Recordset express, nao sei se ficou claro mas é uma forma mais rapida de fazer porem com menos recursos

 

Para definir so da segunda forma que te falei

 

criando da forma classica

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se precisa poste novamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o que o Mário passou pra você, enquanto aos tipos de cursores, a diferença é:

 

Tipo 0: Cursor do tipo estático (cópia dos registros), só se movimenta para frente (movenext), é a padrão utilizado se não for definido nenhum.

 

Tipo 1: Cursor do tipo dinâmico (quase) porém com registros fixos, as inclusões feitas por outros usuário não sera vista por ele, e em caso de exclusão ele pula o registro. Se movimenta em todas direções.

 

Tipo 2: Este tipo é totalmente dinâmico, todas as alterações, inclusões e exclusões serão visualizadas por este tipo de cursor, por este motivo seus registros nunca são fixos.

 

Tipo 3: Cursor do tipo estático (cópia dos registros), qualquer tipo de alteração no banco não será vista pelo recordset, somente recriando o recordset temos acesso a novas alterações, e pode se movimentar em todas direções.

 

Bom se eu estiver errado favor me corrigir

 

Abraços

 

Estevam

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.