使用 SQL 陳述式

Adobe AIR 1.0 以及更新的版本

在執行階段中,各個 SQL 陳述式 (查詢或命令) 都會以 SQLStatement 物件來代表。請依照下列步驟,建立並執行 SQL 陳述式:

建立 SQLStatement 實體。

SQLStatement 物件代表您應用程式中的 SQL 陳述式。

var selectData:SQLStatement = new SQLStatement(); 

指定要針對哪個資料庫執行查詢。

若要執行這項作業,請將 SQLStatement 物件的 sqlConnection 屬性設定為與所想要資料庫連線的 SQLConnection 實體。http://help.adobe.com/zh_TW/Flash/CS5/AS3LR/flash/data/SQLConnection.html

// A SQLConnection named "conn" has been created previously 
selectData.sqlConnection = conn;

指定實際的 SQL 陳述式。

將陳述式文字建立為 String,並指定給 SQLStatement 實體的 text 屬性。

selectData.text = "SELECT col1, col2 FROM my_table WHERE col1 = :param1";

定義函數以處理執行作業的結果 (僅適用於非同步執行模式)。

使用 addEventListener() 方法,將函數註冊為 SQLStatement 實體之 resulterror 事件的偵聽程式。

// using listener methods and addEventListener() 
     
selectData.addEventListener(SQLEvent.RESULT, resultHandler); 
selectData.addEventListener(SQLErrorEvent.ERROR, errorHandler); 
     
function resultHandler(event:SQLEvent):void 
{ 
    // do something after the statement execution succeeds 
} 
     
function errorHandler(event:SQLErrorEvent):void 
{ 
    // do something after the statement execution fails 
} 

另外,您也可以使用 Responder 物件,指定偵聽程式方法。在此情況下,您可以建立 Responder 實體,然後將偵聽程式方法連結至該實體。

// using a Responder (flash.net.Responder) 
     
var selectResponder = new Responder(onResult, onError); 
     
function onResult(result:SQLResult):void 
{ 
    // do something after the statement execution succeeds 
} 
     
function onError(error:SQLError):void 
{ 
    // do something after the statement execution fails 
} 

如果陳述式文字包括參數定義,請為這些參數指定值。

若要指定參數值,請使用 SQLStatement 實體的 parameters 關聯陣列屬性。

selectData.parameters[":param1"] = 25;

執行 SQL 陳述式。

呼叫 SQLStatement 實體的 execute() 方法。

// using synchronous execution mode 
// or listener methods in asynchronous execution mode 
selectData.execute();

此外,如果您是在非同步執行模式中使用 Responder,而不是使用事件偵聽程式,請將 Responder 實體傳遞給 execute() 方法。

// using a Responder in asynchronous execution mode 
selectData.execute(-1, selectResponder);

如需示範這些步驟的特定範例,請參閱下列主題:

從資料庫擷取資料