Paquete | flash.data |
Clase | public class SQLResult |
Herencia | SQLResult Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Se puede acceder a la instancia de SQLResult de una declaración SQL llamando al método SQLStatement.getResult()
o como un argumento transferido al controlador de resultados de una instancia de Responder especificada en una llamada a SQLStatement.execute()
o a SQLStatement.next()
. Por lo general, el código del desarrollador no crea instancias de SQLResult directamente.
Puede utilizar un objeto SQLResult para acceder a los datos devueltos por una declaración SELECT
(con la propiedad data
), para obtener información de identificador de fila get de una declaración INSERT
(con la propiedad lastInsertRowID
), para determinar el número de filas afectadas por una declaración INSERT
, UPDATE
o DELETE
(con la propiedad rowsAffected
), o bien para determinar si hay filas de resultado SELECT
adicionales aún no recuperadas (con la propiedad complete
).
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
complete : Boolean [solo lectura]
Indica si se han devuelto todos los datos resultantes de la ejecución de la declaración. | SQLResult | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
data : Array [solo lectura]
Los datos devueltos como resultado de la ejecución de la declaración, específicamente si se ejecuta una declaración SQL SELECT. | SQLResult | ||
lastInsertRowID : Number [solo lectura]
Último identificador de fila generado por una declaración SQL INSERT. | SQLResult | ||
rowsAffected : Number [solo lectura]
Indica el número de filas afectadas por la operación. | SQLResult |
Método | Definido por | ||
---|---|---|---|
Crea una instancia de SQLResult. | SQLResult | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
complete | propiedad |
complete:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Indica si se han devuelto todos los datos resultantes de la ejecución de la declaración.
Cuando una declaración devuelve una o varias filas, esta propiedad indica si se han devuelto todas las filas. Cuando se llama al método execute()
del objeto SQLStatement con un valor de argumento prefetch
, sólo se devuelven los datos resultantes del número especificado de filas en la propiedad data
del objeto SQLResult. Las sucesivas llamadas a SQLStatement.next()
hacen que haya más datos disponibles. Esta propiedad se utiliza para determinar el momento en que se han devuelto los resultados finales.
Tenga en cuenta que, como se desconoce el número de filas durante la ejecución, el cursor de la base de datos debe desplazarse una fila por debajo de la última para que la ejecución de la declaración se considere finalizada. Cuando se llama al método SQLStatement.execute()
con un argumento prefetch
, al menos una o varias filas del total del conjunto de resultados se debe solicitar antes de que la propiedad complete
de la instancia de SQLResult resultante adopte el valor true
.
Implementación
public function get complete():Boolean
Elementos de API relacionados
data | propiedad |
data:Array
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Los datos devueltos como resultado de la ejecución de la declaración, específicamente si se ejecuta una declaración SQL SELECT
.
Cuando una declaración devuelve una o varias filas, esta propiedad es un conjunto de objetos que representan las filas de datos del resultado. Cada objeto del conjunto tiene nombres de propiedades que se corresponden con los nombres de las columnas del conjunto de datos del resultado.
Por ejemplo, supongamos que se ejecuta la siguiente declaración SQL SELECT
:
SELECT lastName, firstName FROM employees
Suponiendo que la tabla employees
contiene 10 filas, la propiedad SQLResult.data
será un conjunto con 10 elementos. Cada elemento es un objeto con dos propiedades: lastName
y firstName
.
La situación es más compleja si se utiliza una declaración SELECT
con una columna del resultados complejos, por ejemplo, una función de suma. Por ejemplo, supongamos que ejecuta las siguientes acciones SQL:
SELECT departmentId, SUM(salary) FROM employees GROUP BY departmentId
En los resultados de esta declaración, cada objeto del conjunto data
tiene dos propiedades denominadas departmentId
y SUM(salary)
. Sin embargo, "SUM(salary)" no es un identificador válido. Si va a utilizar una columna de calculo con función de suma o con otra función, especifique un alias para la columna de cálculo en la declaración SQL. El alias se utiliza como nombre de la propiedad en los objetos de datos del resultado. Por ejemplo, considere este alternativa a la declaración anterior:
SELECT departmentId, SUM(salary) AS salarySubtotal FROM employees GROUP BY departmentId
En este conjunto data
de la declaración, los objetos del resultado tienen dos propiedades denominadas departmentId
y salarySubtotal
.
La propiedad data
siempre es un conjunto, independientemente de cuántas filas y columnas estén presentes en el conjunto de resultados. Por ejemplo, la siguiente declaración SELECT
produce como resultado una fila y una columna que es, básicamente, un solo valor:
SELECT COUNT(*) AS numEmployees FROM employees
Tras ejecutar la consulta, la propiedad data
contiene un objeto Array con un elemento. Dicho elemento es un objeto con una sola propiedad: numEmployees
.
Si hay nombres de columnas duplicados en los datos del resultado, por ejemplo, si la declaración SELECT
incluye dos columnas id
distintas de dos tablas diferentes, los nombres duplicados serán nombres de propiedades determinadas según el valor de la propiedad SQLConnection.columnNameStyle
. De forma predeterminada, cada nombre de columna se utiliza como nombre de propiedad, pero si hay varias columnas en el conjunto de resultados con el mismo nombre, se utiliza el formato de nombre largo [nombre-tabla]_[nombre-columna]
para las columnas con nombres idénticos. Este comportamiento puede modificar estableciendo la propiedad SQLConnection.columnNameStyle
.
De forma predeterminada, los objetos del conjunto data
son instancias Object. No obstante, al establecer el valor de la propiedad SQLStatement.itemClass
en una clase, los elementos del conjunto data
se crean como instancias de dicha clase. Para cada columna del conjunto de datos de resultado, la clase itemClass
debe tener una propiedad cuyo nombre coincida exactamente con el nombre de columna.
Si una declaración no devuelve ningún dato, esta propiedad es null
. Éste es el caso si la declaración no es SELECT
o si se trata de una declaración SELECT
que devuelve 0 filas.
Implementación
public function get data():Array
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
itemClass
hace que el motor de ejecución cree instancias de una clase personalizada a partir de los resultados de la declaración SQL SELECT
.
// Employee class definition package { public class Employee { public var name:String; public var ssn:String; public var id:uint; public override function toString():String { return "id: "+ id.toString() + " name: " + name + " ssn: " + ssn; } } } // using the Employee class as SQLStatement.itemClass var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; dbStatement.itemClass = Employee; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.execute(); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var emp:Employee; var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { emp = result.data[i]; trace(emp.toString()); } } }
lastInsertRowID | propiedad |
lastInsertRowID:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Último identificador de fila generado por una declaración SQL INSERT
.
El valor es 0 si la declaración ejecutada no era una declaración INSERT
.
Los identificadores de fila se utilizan para identificar de forma exclusiva las filas de una tabla de la base de datos. Lo habitual es que el valor se genere en la base de datos.
Para obtener más información sobre las claves principales y los identificadores de fila generados, consulte las secciones “CREATE TABLE” y “Expresiones” en el apéndice “Compatibilidad de SQL en bases de datos locales”.
Implementación
public function get lastInsertRowID():Number
Elementos de API relacionados
rowsAffected | propiedad |
rowsAffected:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Indica el número de filas afectadas por la operación. Sólo se cuentan los cambios especificados directamente por una declaración INSERT
, UPDATE
o DELETE
.
Los cambios accesorios provocados por activadores no se tienen en cuenta. Utlice la propiedad SQLConnection.totalChanges
para buscar el número total de cambios, incluidos los provocados por activadores.
Tenga en cuenta que si la operación relacionada es una declaración SQL DELETE
sin cláusula WHERE
(es decir, la declaración elimina todas las filas de la tabla), la propiedad rowsAffected
siempre es 0, independientemente del número de filas eliminadas. Si necesita conocer el número de filas eliminadas, puede incluir la cláusula WHERE
WHERE 1 = 1
. En este caso, se eliminarán todas las filas y la propiedad rowsAffected
refleja con precisión el número de filas eliminadas. No obstante, en función del número de filas eliminadas, hacerlo puede afectar negativamente al rendimiento de la declaración.
Implementación
public function get rowsAffected():Number
Elementos de API relacionados
SQLResult | () | Información sobre |
public function SQLResult(data:Array = null, rowsAffected:Number = 0, complete:Boolean = true, rowID:Number = 0)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0 |
Crea una instancia de SQLResult. Generalmente, el código del desarrollador no llama al constructor SQLResult directamente. Para recuperar una instancia de SQLResult asociada a una instancia concreta de SQLStatement, llame al método getResult()
de la instancia. Una instancia de SQLResult también se transfiere como un argumento a la función de control de resultados cuando se especifica una instancia de Responder en una llamada al método execute()
o next()
.
data:Array (default = null ) — Conjunto de filas devueltas desde la ejecución de una declaración. Si la declaración no devuelve ninguna fila, este valor debe ser null.
| |
rowsAffected:Number (default = 0 ) — Indica cuántas filas se ven afectadas por la declaración ejecutada.
| |
complete:Boolean (default = true ) — Indica si hay más filas que puedan tomarse o si ya se han devuelto todos los datos.
| |
rowID:Number (default = 0 ) — Si la declaración era una operación SQL INSERT , éste es el nuevo identificador exclusivo de la fila.
|
Tue Jun 12 2018, 02:12 PM Z