15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit lokalen SQL-Datenbanken in AIR<br />

Verwenden unbenannter Parameter<br />

Adobe AIR 1.0 und höher<br />

Alternativ zu benannten Parametern können Sie auch unbenannte Parameter verwenden. Um einen unbenannten<br />

Parameter zu verwenden, kennzeichnen Sie einen Parameter in einer SQL-Anweisung mit einem „?“ (Fragezeichen).<br />

Jedem Parameter wird entsprechend der Reihenfolge der Parameter in der Anweisung ein numerischer Index<br />

zugewiesen. Begonnen wird mit dem Index 0 für den ersten Parameter. Das folgende Beispiel ist eine Variante des<br />

vorstehenden Beispiels. In dieser Version werden unbenannte Parameter verwendet:<br />

var sql:String =<br />

"INSERT INTO inventoryItems (name, productCode)" +<br />

"VALUES (?, ?)";<br />

var addItemStmt:SQLStatement = new SQLStatement();<br />

addItemStmt.sqlConnection = conn;<br />

addItemStmt.text = sql;<br />

// set parameter values<br />

addItemStmt.parameters[0] = "Item name";<br />

addItemStmt.parameters[1] = "12345";<br />

addItemStmt.execute();<br />

Vorteile bei der Verwendung von Parametern<br />

Adobe AIR 1.0 und höher<br />

Die Verwendung von Parametern in einer SQL-Anweisung hat mehrere Vorteile:<br />

Bessere Leistung Eine SQLStatement-Instanz, die Parameter enthält, ist effizienter im Vergleich mit einer Anweisung,<br />

bei der der SQL-Text bei jeder Ausführung dynamisch erstellt wird. Die Leistung wird verbessert, da die Anweisung<br />

nur ein einziges Mal vorbereitet werden muss und dann viele Male mit unterschiedlichen Parameterwerten ausgeführt<br />

werden kann, ohne dass die SQL-Anweisung neu kompiliert werden muss.<br />

Explizite Datentypisierung Parameter dienen zur typisierten Ersetzung von Werten, die bei der Konstruktion der<br />

SQL-Anweisung unbekannt sind. Nur mithilfe von Parametern kann die Speicherklasse eines an die Datenbank<br />

übergebenen Werts sichergestellt werden. Ohne Parameter versucht die Laufzeitumgebung, alle Werte auf der Basis<br />

der Typenaffinität der zugewiesenen Spalte von ihrer Textrepräsentation in eine Speicherklasse zu konvertieren.<br />

Weitere Informationen zu Speicherklassen und zur Spaltenaffinität finden Sie unter „Unterstützte Datentypen“ auf<br />

Seite 1195.<br />

Mehr Sicherheit Die Verwendung von Parametern trägt dazu bei, böswillige Angriffe zu vermeiden, die als SQL-<br />

Injection (SQL-Einschleusung) bezeichnet werden. Bei einem SQL-Injection-Angriff gibt ein Benutzer einen SQL-<br />

Code an einer für Benutzer zugänglichen Stelle ein (z. B. ein Dateneingabefeld). Wenn der Anwendungscode eine<br />

SQL-Anweisung durch die direkte Verkettung der Benutzereingabe mit dem SQL-Text erstellt, wird der vom Benutzer<br />

eingegebene SQL-Code an der Datenbank ausgeführt. Das folgende Beispiel zeigt die Verkettung der Benutzereingabe<br />

mit dem SQL-Text. Verwenden Sie dieses Verfahren nicht:<br />

Letzte Aktualisierung 27.6.2012<br />

776

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!