使用 SQL 语句

Adobe AIR 1.0 和更高版本

单个 SQL 语句(查询或命令)在运行时中表示为 SQLStatement 对象。按照以下步骤创建和执行 SQL 语句:

创建 SQLStatement 实例。

在您的应用程序中,SQLStatement 对象表示 SQL 语句。

var selectData = new air.SQLStatement();

指定对其运行查询的数据库。

为此,请将 SQLStatement 对象的 sqlConnection 属性设置为与所需数据库连接的 SQLConnection 实例。

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

指定实际的 SQL 语句。

将语句文本创建为字符串,并将其分配给 SQLStatement 实例的 text 属性。

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

定义函数以处理执行操作的结果(仅限异步执行模式)。

使用 addEventListener() 方法将函数注册为 SQLStatement 实例的 result error 事件的侦听器。

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

或者,可以使用 Responder 对象指定侦听器方法。在这种情况下,创建 Responder 实例并将侦听器方法链接到该实例。

// using a Responder 
     
var selectResponder = new air.Responder(onResult, onError); 
     
function onResult(result) 
{ 
    // do something after the statement execution succeeds 
} 
     
function onError(error) 
{ 
    // 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);

有关演示这些步骤的特定示例,请参阅以下主题:

从数据库检索数据