| 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():BooleanElementos 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():ArrayElementos 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():NumberElementos 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():NumberElementos 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
Ocultar propiedades públicas heredadas
Mostrar propiedades públicas heredadas