包 | flash.data |
类 | public class SQLResult |
继承 | SQLResult Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
SQL 语句的 SQLResult 实例是通过调用 SQLStatement.getResult()
方法或作为传递给对 SQLStatement.execute()
或 SQLStatement.next()
的调用中指定的 Responder 实例的结果处理函数的参数进行访问的。通常,开发人员代码不直接构造 SQLResult 实例。
使用 SQLResult 对象可访问从 SELECT
语句中返回的数据行(使用 data
属性);获取 INSERT
语句的行标识符信息(使用 lastInsertRowID
属性);确定受 INSERT
、UPDATE
或 DELETE
语句影响的行数(使用 rowsAffected
属性)或确定是否有尚未检索的其他 SELECT
结果行(使用 complete
属性)。
另请参见
属性 | 定义方 | ||
---|---|---|---|
complete : Boolean [只读 (read-only)] 指示是否已返回语句执行中的所有结果数据。 | SQLResult | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
data : Array [只读 (read-only)] 由于执行语句而返回的数据(尤其是在执行 SQL SELECT 语句时)。 | SQLResult | ||
lastInsertRowID : Number [只读 (read-only)] 上次生成的行标识符(由 SQL INSERT 语句生成)。 | SQLResult | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
rowsAffected : Number [只读 (read-only)] 指示受此操作影响的行数。 | SQLResult |
方法 | 定义方 | ||
---|---|---|---|
创建 SQLResult 实例。 | SQLResult | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
complete | 属性 |
complete:Boolean
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
指示是否已返回语句执行中的所有结果数据。
如果某一语句返回一行或多行,则此属性指示是否已返回所有行。在使用一个 prefetch
参数值调用 SQLStatement 对象的 execute()
方法时,SQLResult 对象的 data
属性中只返回指定行数的生成数据。对 SQLStatement.next()
的后续调用将导致其他数据变为可用。此属性用于确定已返回最终结果的时间。
请注意,由于在执行时行数是未知的,因此,数据库光标必须移出最后一行以后,才会认为语句执行完成。如果使用一个 prefetch
参数调用 SQLStatement.execute()
方法,则只有当请求的行数至少比结果集中的行数多一行时,生成的 SQLResult 实例的 complete
属性才会为 true
。
public function get complete():Boolean
另请参见
data | 属性 |
data:Array
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
由于执行语句而返回的数据(尤其是在执行 SQL SELECT
语句时)。
如果某一语句返回一行或多行,则此属性是一个包含多个对象的数组,这些对象的属性名称对应于结果数据集的列名称。如果某一语句不返回任何数据,则此属性为 null
。
public function get data():Array
lastInsertRowID | 属性 |
lastInsertRowID:Number
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
上次生成的行标识符(由 SQL INSERT
语句生成)。
如果执行的语句不是 INSERT
语句,则该值为 0。
行标识符用于唯一标识数据库表中的行。该值通常由数据库生成。
有关主键和生成的行标识符的详细信息,请参阅附录“本地数据库中的 SQL 支持”中的“创建表”和“表达式”部分。
public function get lastInsertRowID():Number
另请参见
rowsAffected | 属性 |
rowsAffected:Number
[只读 (read-only)] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
指示受此操作影响的行数。只有直接由 INSERT
、UPDATE
或 DELETE
语句指定的更改才计算在内。
由触发器导致的辅助更改不计算在内。使用 SQLConnection.totalChanges
属性可得到总更改数(包括触发器引发的更改)。
请注意,当相关的 SQL 操作为不带 WHERE
子句的 DELETE
语句时(即该语句删除表中的所有行),rowsAffected
属性始终为 0,而不管删除了多少行。如果您需要知道删除的行数,则可以包括 WHERE
子句 WHERE 1 = 1
,在这种情况下,将删除所有行,并且 rowsAffected
属性会精确反映已删除的行数。不过,根据删除的行数不同,执行此操作可能会对语句的性能产生负面影响。
public function get rowsAffected():Number
另请参见
SQLResult | () | 构造函数 |
public function SQLResult(data:Array = null, rowsAffected:Number = 0, complete:Boolean = true, rowID:Number = 0)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
创建 SQLResult 实例。通常,开发人员代码不直接调用 SQLResult 构造函数。若要检索与特定 SQLStatement 实例相关联的 SQLResult 实例,请调用该实例的 getResult()
方法。如果为 execute()
或 next()
方法调用指定了 Responder 实例,则还会以参数形式向结果处理函数传递 SQLResult 实例。
data:Array (default = null ) — 从语句的执行返回的行的数组。如果语句不返回任何行,则此值应为 null。 | |
rowsAffected:Number (default = 0 ) — 指示所执行的语句影响的行数。 | |
complete:Boolean (default = true ) — 指示是否有可以获取的其他行或是否已返回所有数据。 | |
rowID:Number (default = 0 ) —
如果语句为 SQL INSERT 操作,则它将是该行的新的唯一标识符。
|