Uso de parámetros en sentenciasAdobe AIR 1.0 y posterior Una parámetro de declaración SQL permite crear una declaración SQL reutilizable. Cuando usa parámetros de declaración, los valores de la declaración pueden cambiar (como valores que se añaden en una declaración INSERT), pero el texto básico de la declaración no cambia. Por lo tanto, el uso de parámetros proporciona ventajas de rendimiento y facilita la codificación de una aplicación. Aspectos básicos de parámetros de declaraciónCon frecuencia, una aplicación usa una sola declaración SQL varias veces en una aplicación, con leves variaciones. Por ejemplo, considere una aplicación de seguimiento de inventario donde un usuario puede añadir nuevos elementos de inventario a la base de datos. El código de aplicación que añade un elemento de inventario a la base de datos ejecuta una declaración SQL INSERT que añade los datos a la base de datos. Sin embargo, cada vez que se ejecuta la declaración hay una leve variación. En concreto, los valores reales que se insertan en la tabla son diferentes porque son específicos al elemento de inventario que se añade. En los casos donde se tiene una declaración SQL que se usa múltiples veces con diferentes valores en la declaración, el mejor método es usar una declaración SQL que incluye parámetros en lugar de valores literales en el texto SQL. Un parámetro es un marcador de posición en el texto de la declaración que se remplaza con un valor real cada vez que se ejecuta la declaración. Para utilizar parámetros en una declaración SQL, se crea una instancia de SQLStatement, como es habitual. Para la declaración SQL real asignada a la propiedad text, use los marcadores de posición de parámetros en vez de valores literales. Luego defina el valor para cada parámetro configurando el valor de un elemento en la propiedad parameters de la instancia SQLStatement. La propiedad parameters es un conjunto asociativo, por lo que define un valor determinado usando la siguiente sintaxis: statement.parameters[parameter_identifier] = value; El valor parameter_identifier es una cadena si está usando un parámetro con nombre o un índice de número entero si está usando un parámetro sin nombre. Uso de parámetros con nombreUn parámetro puede ser un parámetro con nombre. Un parámetro con nombre tiene un nombre específico que la base de datos usa para corresponder el valor del parámetro con la ubicación del marcador de posición en el texto de la declaración. Un nombre de parámetro contiene de un carácter “:” o “@” seguido por el nombre, como en los siguientes ejemplos: :itemName @firstName El siguiente ejemplo de código demuestra el uso de parámetros con nombre: var sql:String =
"INSERT INTO inventoryItems (name, productCode)" +
"VALUES (:name, :productCode)";
var addItemStmt:SQLStatement = new SQLStatement();
addItemStmt.sqlConnection = conn;
addItemStmt.text = sql;
// set parameter values
addItemStmt.parameters[":name"] = "Item name";
addItemStmt.parameters[":productCode"] = "12345";
addItemStmt.execute();
Uso de parámetros sin nombreComo una alternativa al uso de parámetros con nombre, también se pueden utilizar parámetros sin nombre. Para usar un parámetro sin nombre se indica un parámetro en una declaración SQL usando un signo de interrogación “?” . A cada parámetro se le asigna un índice numérico, según el orden de los parámetros en la declaración, comenzando con el índice 0 para el primer parámetro. En el siguiente ejemplo se muestra una versión del ejemplo anterior, usando parámetros sin nombre: var sql:String =
"INSERT INTO inventoryItems (name, productCode)" +
"VALUES (?, ?)";
var addItemStmt:SQLStatement = new SQLStatement();
addItemStmt.sqlConnection = conn;
addItemStmt.text = sql;
// set parameter values
addItemStmt.parameters[0] = "Item name";
addItemStmt.parameters[1] = "12345";
addItemStmt.execute();
Ventajas de utilizar parámetrosEl uso de parámetros en una declaración SQL proporciona varias ventajas:
|
|