FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour error de ADO consultando XBrowse
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
error de ADO consultando XBrowse
Posted: Tue Apr 28, 2009 03:07 PM
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 (fw): Select all Collapse
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 (fw): Select all Collapse
 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
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Re: error de ADO consultando XBrowse
Posted: Tue Apr 28, 2009 03:29 PM
:-)

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 (fw): Select all Collapse
REDEFINE XBROWSE oXbr ;
   RECSET oRs ID ID_BRW OF oDlg AUTOSORT ;
   ON CLICK oRs2Form:AbsolutePosition := oRs:BookMark
Javier,

FWH 8.04 2008
Posts: 54
Joined: Thu Dec 27, 2007 06:56 PM
Re: error de ADO consultando XBrowse
Posted: Tue Apr 28, 2009 05:12 PM

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

Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Re: error de ADO consultando XBrowse
Posted: Wed Apr 29, 2009 12:02 PM
Luis,

ten en cuenta que
Code (fw): Select all Collapse
reg1:=oRs:bookMark()
, BookMark es una propiedad n贸 un m茅todo.
Por tanto, sobran los par茅ntesis.

Lo correcto ser铆a:
Code (fw): Select all Collapse
reg1:=oRs:bookMark


Espero haberte ayudado.
Un saludo,

Javier.
Javier,

FWH 8.04 2008
Posts: 54
Joined: Thu Dec 27, 2007 06:56 PM
Re: error de ADO consultando XBrowse
Posted: Wed Apr 29, 2009 03:56 PM

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

Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Re: error de ADO consultando XBrowse
Posted: Wed Apr 29, 2009 04:59 PM
Luis,

En la l铆nea
Code (fw): Select all Collapse
oRs:CursorType := adOpenKeyset
,
yo utilizo un cursor dinamico.
Code (fw): Select all Collapse
oRs:CursorType := adOpenDynamic


A ver si as铆 te sirve.
:-)
Javier,

FWH 8.04 2008

Continue the discussion