Korzystanie z parametrów w instrukcjachAdobe AIR 1.0 i wersje późniejsze Parametry instrukcji SQL umożliwiają utworzenie instrukcji SQL wielokrotnego użytku. Jeśli używane są parametry instrukcji, wartości w instrukcji (na przykład wartości dodawane w instrukcji INSERT) mogą ulec zmianie, ale podstawowy tekst instrukcji pozostanie niezmieniony. Dlatego użycie parametrów zapewnia potencjalnie wzrost wydajności, a także ułatwia programowanie aplikacji. Informacje o parametrach instrukcjiCzęsto aplikacja wykorzystuje pojedynczą instrukcję SQL wielokrotnie w aplikacji, z niewielkimi odchyleniami. Na przykład: rozważmy aplikację do wyświetlania zasobów magazynowych, w której użytkownik może dodawać nowe elementy magazynowe do bazy danych. Kod aplikacji, który dodaje element magazynowy do bazy danych wykonuje instrukcję SQL INSERT, która w rzeczywistości dodaje dane do bazy danych. Jednak każde wykonanie instrukcji różni się nieznacznie od poprzedniego. Rzeczywiste wartości wprowadzane do tabeli są różne, ponieważ są właściwe dla pozycji magazynowej, która jest dodawana. W przypadku wielokrotnego korzystania z instrukcji SQL z różnymi wartościami najlepszym podejściem jest użycie instrukcji SQL, która zawiera parametry zamiast wartości literałowych w tekście SQL. Parametr jest elementem zastępczym w tekście instrukcji, który jest zastępowany rzeczywistą wartością przy każdym wykonaniu instrukcji. W celu korzystania z parametrów w instrukcji SQL należy utworzyć instancję klasy SQLStatement w standardowy sposób. Dla rzeczywistej instrukcji SQL przypisanej do właściwości text należy użyć parametrów zamiast wartości literałowych. Następnie należy zdefiniować wartość dla każdego parametru poprzez ustawienie wartości elementu we właściwości parameters instancji SQLStatement. Właściwość parameters jest tablicą asocjacyjną, dlatego wartości należy ustawiać za pomocą poniższej składni: statement.parameters[parameter_identifier] = value; parameter_identifier jest ciągiem znaków, jeśli używany jest parametr nazwany, lub wartością całkowitą, jeśli używany jest parametr nienazwany. Korzystanie z parametrów nazwanychParametr może być parametrem nazwanym. Parametr nazwany ma konkretną nazwę, z której korzysta baza danych w celu dopasowania wartości parametru do odpowiedniego elementu zastępczego w tekście instrukcji. Nazwa parametru zawiera znak „:” lub „@”, po którym następuje nazwa, jak w poniższych przykładach: :itemName @firstName Poniższy fragment kodu prezentuje zastosowanie nazwanych parametrów: 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();
Korzystanie z parametrów nienazwanychZamiast korzystania z parametrów nazwanych możliwe jest korzystanie z parametrów nienazwanych. W celu użycia parametru nienazwanego należy do instrukcji SQL wprowadzić znak „?”. Do każdego parametru przypisany zostaje indeks liczbowy zgodnie z kolejnością parametrów w instrukcji, począwszy od indeksu 0 dla pierwszego parametru. Poniższy przykład prezentuje wersję poprzedniego przykładu z parametrami nienazwanymi: 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();
Zalety stosowania parametrówStosowanie parametrów w instrukcjach SQL zapewnia następujące korzyści:
|
|