en Ejemplos

Ejemplo de Harbour usando ADO

Descarga el código y la base de datos .MDB aquí

/*
* http://www.mig2soft.com
* “tbrowADO.prg” Ejemplo de Tbrowse y ADO
* (c) MigSoft 2008 <fugaz_cl/at/mig2soft.com>
*/

#include “ado.ch”
#include “TBrowse.ch”

#ifndef __XHARBOUR__

ANNOUNCE HB_GTSYS
REQUEST HB_GT_WIN

#endif

Function Main()

setmode(25,80)
clear

/********** Cadena de Conexion **********/

cCad := “Provider=Microsoft.Jet.OLEDB.4.0;” + ;
“Data Source=Agenda.mdb”

/************ Abrir Conexion ************/


oMiConexion := CreateObject(“ADODB.Connection”)
oMiConexion:
Open(cCad)
oRecordSet :
= CreateObject(“ADODB.recordset”)

oRecordSet:LockType   := adLockOptimistic
oRecordSet:CursorType :
= adOpenKeyset
oRecordSet:ActiveConnection(oMiconexion)
oRecordSet:Source :
= “Select * from contactos”
oRecordSet:Open()
oRecordSet:MoveFirst()

/************ Crear TBrowse ************/

oBrw := TBrowseNew(0,0,24,79)
oBrw:headSep   :
= “-“
oBrw:colorSpec := “N/BG,W+/R”

oBrw:goBottomBlock := {|| oRecordSet:MoveLast()}
oBrw:goTopBlock :
= {|| oRecordSet:MoveFirst()}

oBrw:SkipBlock := {|nSkip| RecordSetSkip(nSkip)}

oBrw:AddColumn(TBColumnNew(“Apellido”,;
{|| oRecordSet:Fields(“apellido”):value}))
oBrw:AddColumn(TBColumnNew(
“Nombres”,;
{|| oRecordSet:Fields(“nombres”):value}))
oBrw:AddColumn(TBColumnNew(
“Direccion”,;
{|| oRecordSet:Fields(“calle”):value}))

/************ Display TBrowse ************/

DO WHILE .T

oBrw:forceStable()

nKey := Inkey(0)
IF oBrw:applyKey( nKey ) == TBR_EXIT
EXIT
ENDIF

ENDDO

/************ Cerrar Conexion ************/

oMiConexion:Close()

clear

Return(Nil)

Static Function RecordSetSkip(nSkip)

LOCAL nRec := oRecordSet:AbsolutePosition
oRecordSet:Move(nSkip)
IF oRecordSet:EOF; oRecordSet:MoveLast(); ENDIF
IF oRecordSet:BOF; oRecordSet:MoveFirst(); ENDIF

Return(oRecordSet:AbsolutePosition-nRec)



Escribe un comentario

Comentario