stranger no?
with Mysql 4.1 functions perfectly
USE ceif VIA "ADORDD" TABLE "aplica" MYSQL ;
FROM "localhost" USER "root" PASSWORD "masterkey" ALIAS "aplica"
with Mysql 5.0.37 error:
Error ADODB.Recordset/16389 E_FAIL: OPEN Arguments: ( [ 1] = Type: C Val: aplic
a [ 2] = Type: O Val: { TOLEAUTO Object })
Error at ...: TOLEAUTO:OPEN(0) in Module: win32ole.prg
Called from : ADO_OPEN(273) in Module: ADORDD.PRG
Called from : DBUSEAREA(0) in Module:
the solution for this error is:
static function ADO_OPEN( nWA, aOpenInfo )
local aWAData := USRRDD_AREADATA( nWA )
local cName, aField, oError, nResult
local oRecordSet, nTotalFields, n
// When there is no ALIAS we will create new one using file name
if aOpenInfo[ UR_OI_ALIAS ] == nil
HB_FNAMESPLIT( aOpenInfo[ UR_OI_NAME ], , @cName )
aOpenInfo[ UR_OI_ALIAS ] := cName
endif
about query, i see another thing
in ADO_OPEN
IF aWAData[ WA_QUERY ]=="SELECT * FROM "
oRecordSet:Open( aWAData[ WA_QUERY ] + aWAData[ WA_TABLENAME ], aWAData[ WA_CONNECTION ] )
ELSE
oRecordSet:Open( aWAData[ WA_QUERY ], aWAData[ WA_CONNECTION ] )
ENDIF
but, when USE command, not open HB_AdoSetQuery( <cQuery> ) function when not have a Query, only open function if Query exist, then forever push the last query
EX:
SELE 0
USE ceif VIA "ADORDD" ALIAS "S" TABLE "s" MYSQL FROM "localhost" USER "root" PASSWORD "masterkey"
< the query is a SELECT * FROM S >
but, if open with Query
SELE 0
USE ceif VIA "ADORDD" ALIAS "ABC" TABLE "ABC" MYSQL FROM "localhost" USER "root" PASSWORD "masterkey" QUERY "SELECT * FROM ABC ORDER BY nomeus"
< the query is a SELECT * FROM ABC ORDER BY nomeus >
but if open without Query again
SELE 0
USE ceif VIA "ADORDD" ALIAS "TTT" TABLE "TTT" MYSQL FROM "localhost" USER "root" PASSWORD "masterkey"
< the query is a SELECT * FROM ABC ORDER BY nomeus >
Para comenzar es preferible que crees la base de datos con una utilidad como el Navicat. Luego prueba el ejemplo mysql1.prg que proporcionamos con ADORDD