tAdoDataSource:Execute cuando devuelve un dataset
Publicado: Vie Ago 24, 2007 1:44 pm
Hola,
Contra un SqlServer 2000 via oledb/ADO.
Quiero ejecutar el procedimieto sp_tables que devuelve un conjunto de
valores con las tablas de la base de datos en uso.
Según entiendo después de leer la ayuda, debería hacer algo como esto:
::oConnex:Execute([sp_tables ],adCmdTable,,::oSqlTablas)
IF ::oConnex:IsError()
::oConnex:DelErrors()
ELSE
::obrwtablas:odataset := ::oSqlTablas
::obrwTablas:Refresh()
::oSqlTablas:GoTop()
DO WHILE !::oSqlTablas:Eof()
::oSqlTablas:Skip(+1)
ENDDO
ENDIF
Donde oConnex es un AdoDatasource abierto y oSqlTablas es un tSqlQuery
cerrado.
Y no se que ocurre pero no consigo que se cree el dataset. Me aparece este
error:
TADORECORDS:OADO(729)
Error XAILER/0 ADO Invalid object (NIL): TSQLQuery:('')
Argumentos: ()
¿ Alguien puede darme un ejemplo de como utilizar el método execute
devolviendo un dataset ?
Saludos y gracias,
José Luis Capel
PD: os dejo un ejemplo donde solo hay que cambiar la cadena de conexión del
datasource y lanzarlo contra un SqlServer. En la cadena de conexión se debe
indicar una base de datos por defecto.
Attached files UtilsKais.zip (2.1 KB)Â
Contra un SqlServer 2000 via oledb/ADO.
Quiero ejecutar el procedimieto sp_tables que devuelve un conjunto de
valores con las tablas de la base de datos en uso.
Según entiendo después de leer la ayuda, debería hacer algo como esto:
::oConnex:Execute([sp_tables ],adCmdTable,,::oSqlTablas)
IF ::oConnex:IsError()
::oConnex:DelErrors()
ELSE
::obrwtablas:odataset := ::oSqlTablas
::obrwTablas:Refresh()
::oSqlTablas:GoTop()
DO WHILE !::oSqlTablas:Eof()
::oSqlTablas:Skip(+1)
ENDDO
ENDIF
Donde oConnex es un AdoDatasource abierto y oSqlTablas es un tSqlQuery
cerrado.
Y no se que ocurre pero no consigo que se cree el dataset. Me aparece este
error:
TADORECORDS:OADO(729)
Error XAILER/0 ADO Invalid object (NIL): TSQLQuery:('')
Argumentos: ()
¿ Alguien puede darme un ejemplo de como utilizar el método execute
devolviendo un dataset ?
Saludos y gracias,
José Luis Capel
PD: os dejo un ejemplo donde solo hay que cambiar la cadena de conexión del
datasource y lanzarlo contra un SqlServer. En la cadena de conexión se debe
indicar una base de datos por defecto.
Attached files UtilsKais.zip (2.1 KB)Â