FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mi Primer MySQL
Posts: 729
Joined: Tue Oct 18, 2005 06:49 PM
Mi Primer MySQL
Posted: Tue May 30, 2006 12:07 AM

// 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

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Mi Primer MySQL
Posted: Tue May 30, 2006 12:23 PM

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

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 729
Joined: Tue Oct 18, 2005 06:49 PM
Mi Primer MySQL
Posted: Tue May 30, 2006 01:20 PM

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

Posts: 729
Joined: Tue Oct 18, 2005 06:49 PM
Mi Primer MySQL
Posted: Wed May 31, 2006 07:46 PM

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

Continue the discussion