Uso de parâmetros em instruçõesAdobe AIR 1.0 e posterior O uso de parâmetros de instrução SQL permite criar uma instrução SQL reutilizável. Quando você usa parâmetros de instrução, os valores na instrução podem mudar (como os que estão sendo adicionados a uma instrução INSERT), mas seu texto básico permanece inalterado. Consequentemente, usar parâmetros oferece o benefício do desempenho, além de facilitar a codificação de um aplicativo. Noções básicas sobre parâmetros de instruçãoÉ freqüente um aplicativo usar uma única instrução SQL várias vezes, com uma leve variação. Por exemplo, considere um aplicativo de controle de inventário no qual um usuário pode adicionar itens de inventário ao banco de dados. O código do aplicativo que adiciona um item de inventário ao banco de dados executa uma instrução SQL INSERT que, na verdade, adiciona os dados ao banco de dados. No entanto, cada vez que a instrução é executada, há uma leve variação. Especificamente, os valores reais inseridos na tabela são diferentes porque são específicos do item de inventário que está sendo adicionado. Em casos nos quais você tem uma instrução SQL que é usada várias vezes com diferentes valores na instrução, a melhor abordagem é utilizar uma instrução SQL que inclua parâmetros em vez de valores literais no texto SQL. Um parâmetro consiste em um alocador de espaço no texto da instrução que é substituído por um valor real sempre que a instrução é executada. Para usar parâmetros em uma instrução SQL, crie a instância de SQLStatement como de costume. No caso da instrução SQL propriamente dita atribuída à propriedade text, use alocadores de espaço de parâmetro em vez de valores literais. Em seguida, defina o valor para cada parâmetro definindo o valor de um elemento na propriedade parameters da ocorrência de SQLStatement. A propriedade parameters é uma matriz associativa, por isso você define um valor em particular usando a seguinte sintaxe: statement.parameters[parameter_identifier] = value; parameter_identifier é uma string (se você está usando um parâmetro nomeado) ou um índice de inteiro (se está usando um parâmetro sem nome). Uso de parâmetros nomeadosUm parâmetro pode ser um parâmetro nomeado. Um parâmetro nomeado tem um nome específico que o banco de dados utiliza para comparar o valor do parâmetro à localização do alocador de espaço no texto da instrução. Um nome de parâmetro consiste no caractere “:” ou “@” seguido de um nome, como nestes exemplos: :itemName @firstName A seguinte listagem de código demonstra o uso de parâmetros nomeados: 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 sem nomeComo alternativa ao uso de parâmetros nomeados, também é possível utilizar parâmetros sem nome. Para usar um parâmetro sem nome, indique um parâmetro em uma instrução SQL usando um caractere “?” exigido. Cada parâmetro recebe um índice numérico conforme a ordem dos parâmetros da instrução, começando com o índice 0 para o primeiro parâmetro. Este exemplo demonstra uma versão do exemplo anterior usando parâmetros sem nome: 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();
Benefícios do uso de parâmetrosO uso de parâmetros em uma instrução SQL proporciona vários benefícios:
|
|