nAffectedRows de AdoDatasource: no siempre es num
Publicado: Jue Oct 01, 2009 1:59 pm
Ignacio,
Ado a veces no devuelve nAffectedRows en el Execute del objeto connection.
Para que nAffectedRows sea siempre numérico (tal como indica la ayuda)
propondría este cambio:
METHOD Execute( cCommand, cOperation, nOptions, oRS ) CLASS XAdoDataSource
LOCAL oError
LOCAL lSuccess
LOCAL nAffectedRows
IF Empty( cCommand )
RETURN .F.
ENDIF
IF !::CheckConnection()
RETURN .F.
ENDIF
DEFAULT cOperation TO cCommand
DEFAULT nOptions TO adExecuteNoRecords
TRY
oRS := ::oConnection:Execute( cCommand, @nAffectedRows, nOptions )
DEFAULT nAffectedRows TO 0
::nAffectedRows := nAffectedRows
lSuccess := .T.
CATCH oError
lSuccess := .F.
::NewADOError( "ADODB:Execute( '" + cOperation+ "' )" )
END
RETURN lSuccess
Saludos,
José Luis Capel
Ado a veces no devuelve nAffectedRows en el Execute del objeto connection.
Para que nAffectedRows sea siempre numérico (tal como indica la ayuda)
propondría este cambio:
METHOD Execute( cCommand, cOperation, nOptions, oRS ) CLASS XAdoDataSource
LOCAL oError
LOCAL lSuccess
LOCAL nAffectedRows
IF Empty( cCommand )
RETURN .F.
ENDIF
IF !::CheckConnection()
RETURN .F.
ENDIF
DEFAULT cOperation TO cCommand
DEFAULT nOptions TO adExecuteNoRecords
TRY
oRS := ::oConnection:Execute( cCommand, @nAffectedRows, nOptions )
DEFAULT nAffectedRows TO 0
::nAffectedRows := nAffectedRows
lSuccess := .T.
CATCH oError
lSuccess := .F.
::NewADOError( "ADODB:Execute( '" + cOperation+ "' )" )
END
RETURN lSuccess
Saludos,
José Luis Capel