Page 1 of 1

Mi Primer MySQL

Posted: Tue May 30, 2006 12:07 am
by George
// My First MySQL Program

#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3

#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4



FUNCTION Main()
LOCAL cQuery := "SELECT * FROM MyTable",;
cConnection := "DRIVER={MySQL ODBC 3.51 DRIVER};SERVER=localhost;DATABASE=zoo;USER=root;PASSWORD=abc123"

oCon:=toleauto():new("adodb.connection")
oRs := CREATEOBJECT( "ADODB.Recordset" )

oRs:Open( cQuery , cConnection, adOpenKeyset, adLockOptimistic )


/* ¿ cuantas Columnas trajo de regreso el query ? */
? STR(oRs:Fields:Count()) // Este trabaja bien; devuelve el numero de columnas correcto = 3

/* ¿ cuantos renglones trajo de regreso el query ?*/
? STR(oRs:RecordCount()) // ESTE NO FUNCIONA; SIEMPRE DEVUELVE -1


RETURN TRUE


Algun compañero del foro que me pueda dar una idea por donde anda el problema?


George

Posted: Tue May 30, 2006 12:23 pm
by Armando
George:

? STR(oRs:Fields:Count()) // Este trabaja bien
? STR(oRs:RecordCount()) // ESTE NO FUNCIONA

Y si cambias el segundo a ?

? STR(oRs:Records:Count()) o Record

Saludos, Armando

Posted: Tue May 30, 2006 1:20 pm
by George
Armando

Gracias por tu sugerencia, pero si uso ? STR(oRs:Records:Count()) me da el siguiente error:

"Error description: Error ADODB.Recordset/6 DISP_E_UNKNOWNNAME: RECORDS"

Si uso RECORD en vez de RECORDS, tambien me da error.



George

Posted: Wed May 31, 2006 7:46 pm
by George
Problema Solucionado

Hay que añadir los siguientes DEFINE:

#define adUseServer 2
#define adUseClient 3

Y antes del oRs:Open() se debe colocar la siguiente funcion:

oRs:CursorLocation = adUseClient


George