Array como parámetro de objeto
Publicado: 07 Feb 2012, 12:30
A ver si el título del hilo es claro y puedo explicarme.
Viendo en uso del Método OpenChema de ADO, hay una parte que no sé si puede realizarse en Autoit. Se trata de poner una array como parámetro en un objeto.
Sabiendo que el esquema es así:
QueryType Criteria
=============================
. adSchemaTables TABLE_CATALOG
........................ TABLE_SCHEMA
........................ TABLE_NAME
........................ TABLE_TYPE
Para mostrar las tablas de la base de datos el código en VB sería:
Set rs = cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table")
While Not rs.EOF
Debug.Print rs!TABLE_NAME
rs.MoveNext
Wend
Sabiendo que el valor de adSchemaTables es 20, En autoit he probado así:
$oRec = $oADO.OpenSchema(20) <<<<<<<<<<<<< Obtengo resultados, pero sin lo que quiero es filtrar, intento poner los demás parámetros:
$oRec = $oADO.OpenSchema(20,Array("Empty","Empty","Empty","TABLE")) <<<<<<<<< Obtengo: ERROR: Array(): undefined function.
así:
$oRec = $oADO.OpenSchema(20,("Empty","Empty","Empty","TABLE")) <<<<<<<<< Obtengo: ERROR: unbalanced paranthesis expression.
$oRec = $oADO.OpenSchema(20,("Empty",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ERROR: syntax error
$oRec = $oADO.OpenSchema(20,("Empty","Empty","Empty","TABLE"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
y así:
Local $array[4]= ["Empty","Empty","Empty","TABLE"]
$oRec = $oADO.OpenSchema(20,$array) <<<<<<<<<<<<<<<<<<<<<< Obtengo el error: The requested action with this object has failed.:
He buscado en el foro inglés y tampoco encuentro solución. No sé si es por el tipo de parámetro "array"o por "empty" (he probado también a poner "" o sólo , pero no funciona).
¿Sabéis si hay posibilidad de hacer esto en Autoit?
Viendo en uso del Método OpenChema de ADO, hay una parte que no sé si puede realizarse en Autoit. Se trata de poner una array como parámetro en un objeto.
Sabiendo que el esquema es así:
QueryType Criteria
=============================
. adSchemaTables TABLE_CATALOG
........................ TABLE_SCHEMA
........................ TABLE_NAME
........................ TABLE_TYPE
Para mostrar las tablas de la base de datos el código en VB sería:
Set rs = cn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "Table")
While Not rs.EOF
Debug.Print rs!TABLE_NAME
rs.MoveNext
Wend
Sabiendo que el valor de adSchemaTables es 20, En autoit he probado así:
$oRec = $oADO.OpenSchema(20) <<<<<<<<<<<<< Obtengo resultados, pero sin lo que quiero es filtrar, intento poner los demás parámetros:
$oRec = $oADO.OpenSchema(20,Array("Empty","Empty","Empty","TABLE")) <<<<<<<<< Obtengo: ERROR: Array(): undefined function.
así:
$oRec = $oADO.OpenSchema(20,("Empty","Empty","Empty","TABLE")) <<<<<<<<< Obtengo: ERROR: unbalanced paranthesis expression.
$oRec = $oADO.OpenSchema(20,("Empty",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ERROR: syntax error
$oRec = $oADO.OpenSchema(20,("Empty","Empty","Empty","TABLE"))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
y así:
Local $array[4]= ["Empty","Empty","Empty","TABLE"]
$oRec = $oADO.OpenSchema(20,$array) <<<<<<<<<<<<<<<<<<<<<< Obtengo el error: The requested action with this object has failed.:
He buscado en el foro inglés y tampoco encuentro solución. No sé si es por el tipo de parámetro "array"o por "empty" (he probado también a poner "" o sólo , pero no funciona).
¿Sabéis si hay posibilidad de hacer esto en Autoit?