error de ADO consultando XBrowse

Post Reply
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

error de ADO consultando XBrowse

Post by jfafive »

Hola!

Estoy haciendo un XBRowse que a medida que avance o retroceda por el XBrowse,
también lo hace un recordset ajeno al XBrowse.

Ambos recordset son de la misma tabla.
La finalidad, es que el recordset tenga la misma posición que el browse.

El código de ejemplo es este:

Code: Select all

REDEFINE XBROWSE oXbr ;
   RECSET oRs ID ID_BRW OF oDlg AUTOSORT ;
   ON CLICK oRs2:Move( oXbr:nRowSel )
 
Pero no sé que ocurre, porque me dá un error que dice:

Code: Select all

 Error description: Error ADODB.RecordSet/6  DISP_E_UNKNOWNNAME: MOVE
   Args:
     [   1] = N   10
Es muy raro. Ya que los dos recordset como he dicho antes, son gemelos.
:(
Javier,
FWH 8.04 2008
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: error de ADO consultando XBrowse

Post by jfafive »

:oops:

Me respondo a mi mismo.
Parece ser que me estaba haciendo un lío con rs:move.

Ahora parece que funciona bien.
Dejo el código por si a alguien le sirve.

Un saludo.

Code: Select all

REDEFINE XBROWSE oXbr ;
   RECSET oRs ID ID_BRW OF oDlg AUTOSORT ;
   ON CLICK oRs2Form:AbsolutePosition := oRs:BookMark
 
Javier,
FWH 8.04 2008
User avatar
mchumpitazv
Posts: 49
Joined: Thu Dec 27, 2007 6:56 pm
Location: Lima -Perú

Re: error de ADO consultando XBrowse

Post by mchumpitazv »

Hola Javier

Al ver que estas trabajando con Ado tal vez puedas ayudarme con el siguiente problema:

#include "Ado.ch"
FUNCTION MainCmd()
LOCAL oConexionAdo := TOLEAUTO():New("adodb.connection")
LOCAL oComando := TOLEAUTO():New("adodb.command")
LOCAL oRecordset , reg1
LOCAL aDatos := {}
oConexionAdo:Open("Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=Martin;Initial Catalog=APPLOCAL;Data Source=PERLIM_SYS_LCH")
oComando:ActiveConnection(oConexionAdo)
oComando:CommandType:= 4
oComando:CommandText := "sp_Menu"
oRs := TOleAuto():New( "ADODB.Recordset" )
oRs:CursorType := adOpenKeyset
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:Open(oComando:Execute())
reg1:=oRs:bookMark() ------------------> esta linea me muestra el error Error ADODB.Recordset/6 DISP_E_UNKNOWNNAME: BOOKMARK

DO WHILE .NOT. oRs:Eof()
AADD(aDatos,oRs:Fields(0):value)
oRs:MoveNext()
ENDDO
MsgList(aDatos)
RETURN (.T.)mchumpitazv

Te agradecere me puedas orientar a como solucionar el impase , si tuvieses algun ejemplo tambien ayudaria

Saludos

Luis
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: error de ADO consultando XBrowse

Post by jfafive »

Luis,

ten en cuenta que

Code: Select all

reg1:=oRs:bookMark()
, BookMark es una propiedad nó un método.
Por tanto, sobran los paréntesis.

Lo correcto sería:

Code: Select all

reg1:=oRs:bookMark
Espero haberte ayudado.
Un saludo,

Javier.
Javier,
FWH 8.04 2008
User avatar
mchumpitazv
Posts: 49
Joined: Thu Dec 27, 2007 6:56 pm
Location: Lima -Perú

Re: error de ADO consultando XBrowse

Post by mchumpitazv »

Hola Javier

Gracias por responder, aun quitandole los parentesis el error es el mismo, por lo que procedi a evaluar si el recordset acepta bookmark y el resultado fue FALSO
y no le encuentro logica ya que el recordset esta definido de la sgte manera:

oRs := TOleAuto():New( "ADODB.Recordset" )
oRs:CursorType := adOpenKeyset ------> se supone que acepta bookmark
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:Open(oComando:Execute())
oRs:Supports(adbookmark) ----------------------> retorna False

Espero puedas seguir apoyandome,por cierto trabajo con FWH 8.10 , SQL 2000 y Xharbour

Saludos

Luis
jfafive
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Re: error de ADO consultando XBrowse

Post by jfafive »

Luis,

En la línea

Code: Select all

oRs:CursorType := adOpenKeyset
,
yo utilizo un cursor dinamico.

Code: Select all

oRs:CursorType := adOpenDynamic
A ver si así te sirve.
:)
Javier,
FWH 8.04 2008
Post Reply