Page 1 of 1

tsbrowse

Posted: Fri Oct 06, 2006 9:04 pm
by Marco Augusto
Alguien tiene una version de Tsbrowse de M.Mercado y
que funcione para consultas mysql

Gracias

Re: tsbrowse

Posted: Sat Oct 07, 2006 12:57 pm
by goosfancito
Marco Augusto wrote:Alguien tiene una version de Tsbrowse de M.Mercado y
que funcione para consultas mysql

Gracias
Si es que vas a implementar la TS ( tsbrowse ) por primera vez, te recomiendo la xBrowse.

Gustavo.

Re: tsbrowse

Posted: Fri Oct 13, 2006 4:57 pm
by thefull
goosfancito wrote:
Marco Augusto wrote:Alguien tiene una version de Tsbrowse de M.Mercado y
que funcione para consultas mysql

Gracias
Si es que vas a implementar la TS ( tsbrowse ) por primera vez, te recomiendo la xBrowse.

Gustavo.
Pregunta.. donde esta la xBrowse ? De quien es... ? Cuando vale... ?

Posted: Fri Oct 13, 2006 5:05 pm
by R.F.
Viene incluida en el FiveWin,

Re: tsbrowse

Posted: Fri Oct 13, 2006 5:13 pm
by R.F.
Marco Augusto wrote:Alguien tiene una version de Tsbrowse de M.Mercado y
que funcione para consultas mysql

Gracias
Todos y a la vez ningun browse te sirve para manipular MySQL.

Me explico mejor:

A menos que trabajes con ADO es posible "browsear" directamente un RecordSet, cualquier otra froma de acceso a MySQL, llamese ODBC, Eagle, RDD SQL u otro, requiere forzosamente que pase el contenido del cursor al un arreglo y que de ahi al browse correspondiente.

Para browsear un RecordSet de ADO lo uedes hacer con cualqieur Browse, solo tienes que crear un cursor typo adOpenSetKey y modificar unas datas del browse, y escribir una funcion Skipper

Por ejemplo con Access (para my sql, solo cambia la cadena de conexion)

Code: Select all

oMiConexion := TOleAuto():New(“adodb.connection”)
oMiConexion:Open(“MicroSoft.Jet.OLEDB.4.0; Data Source=.\taller.mdb”)

oRecordSet := TOleAuto():New(“adodb.recordset”)
oRecordSet:LockType := adLockOptimistic
oRecordSet:CursorType := adOpenKeySet
oRecordSet:ActiveConnection(oMiConexion)
oRecordSet:Source := “Select * from Clientes”
oRecordSet:Open()
oRecordSet:MoveFirst()

@ 0, 0 LISTBOX oBrw FIELDS oRecordSet:Fields(“nombre”):value,;
                           oRecordSet:Fields(“apellido”):value,;
                           oRecordSet:Fields(“id”):value,;
                           oRecordSet:Fields(“edad”):value,;
                           oRecordSet:Fields(“ciudad”):value,;
                           oRecordSet:Fields(“estado”):value;
           HEADERS "Nombre",”Apellido”,”Id”,”Edad”,”Ciudad”,”Estado”

/* esto es lo que cambia */

oBrw:bLogicLen = { || oRecordSet:RecordCount } 
oBrw:bGoTop    = { || oRecordSet:MoveFirst() } 
oBrw:bGoBottom = { || oRecordSet:MoveLast() } 
oBrw:bSkip     = { | nSkip | Skipper( oRecordSet, nSkip ) } 
oBrw:cAlias    = "ARRAY" 

STATIC FUNCTION SKIPPER( oRs, nSkip ) 

    LOCAL nRec := oRs:AbsolutePosition 

    oRs:Move( nSkip ) 

    IF oRs:EOF; oRs:MoveLast(); ENDIF 
    IF oRs:BOF; oRs:MoveFirst(); ENDIF 

RETURN oRs:AbsolutePosition – nRe
Con esto cualquier browse (Xbrowse, TWBrowse, Browse de Hernan, TSbrowse, etc,) te funciona para una tabla de MySQL