Использование параметров в инструкцияхAdobe AIR 1.0 и более новых версий Использование параметров инструкции SQL позволяет создать инструкцию SQL для неоднократного использования. При использовании параметров инструкций значения в инструкциях могут меняться (например, значения, вставленные в инструкцию INSERT), но основной текст инструкции остается неизменным. Следовательно, использование параметров улучшает производительность и упрощает кодирование приложения. Основные сведения о параметрах инструкцийЧасто приложение использует одну и ту же инструкцию SQL несколько раз с незначительными изменениями. Рассмотрим приложение для инвентаризации, работая в котором пользователь может добавить новые предметы хранения в базу данных. Код приложения, который добавляет предмет хранения в базу данных, выполняет инструкцию SQL INSERT, которая добавляет данные в базу данных. Однако каждый раз инструкция выполняется с некоторыми изменениями. Вставляемые в таблицу значения отличаются, так как они соответствуют конкретному добавляемому предмету хранения. В случаях с инструкцией SQL, которая используется несколько раз с различными значениями, рекомендуется использовать инструкцию SQL, текст которой содержит параметры, а не литеральные значения. Параметр представляет собой заполнитель в тексте инструкции, который заменяется фактическим значением при каждом выполнении инструкции. Для использования параметров в инструкции SQL необходимо, как обычно, создать экземпляр SQLStatement. В инструкции SQL, присвоенной свойству text, используйте заполнители для параметров вместо литеральных значений. Затем определите значение каждого параметра, задав значение элемента в свойстве parameters экземпляра SQLStatement. Свойство parameters представляет собой ассоциативный массив, поэтому конкретное значение задается с использованием следующего синтаксиса: statement.parameters[parameter_identifier] = value; Элемент parameter_identifier является строкой, если используется именованный параметр, или целочисленным индексом, если используется неименованный параметр. Использование именованных параметровПараметр может быть именованным. Именованный параметр имеет определенное имя, используемое базой данных для поиска соответствия между значением параметра и позицией заполнителя в тексте инструкции. Имя параметра состоит из символа «:» или «@», за которым следует имя, как в следующих примерах: :itemName @firstName Следующий код иллюстрирует использование именованных параметров: 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();
Использование неименованных параметровВместо именованных можно также использовать неименованные параметры. Неименованный параметр обозначается в инструкции SQL символом «?». Каждому параметру присваивается числовой индекс в соответствии с порядком следования параметров в инструкции, начиная с индекса 0 для первого параметра. Следующий пример является вариантом предыдущего примера с использованием неименованных параметров: 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();
Преимущества использования параметровИспользование параметров в инструкции SQL имеет несколько преимуществ:
|
|