String AdobeAIR:转换sqlite';将结果[object]转换为字符串?
我目前正在尝试从sqlite检索文本。我看到请求的数据量确实正确,但另一方面,内容的格式似乎不正确。我尝试了一些转换:String AdobeAIR:转换sqlite';将结果[object]转换为字符串?,string,apache-flex,sqlite,air,flash-builder,String,Apache Flex,Sqlite,Air,Flash Builder,我目前正在尝试从sqlite检索文本。我看到请求的数据量确实正确,但另一方面,内容的格式似乎不正确。我尝试了一些转换: var data:Array = sqls.getResult().data; var stData:String = String(data[0]); Alert.show(stData); // <--- displays "[object Object]" var-data:Array=sqls.getResult().data; var stData:Str
var data:Array = sqls.getResult().data;
var stData:String = String(data[0]);
Alert.show(stData); // <--- displays "[object Object]"
var-data:Array=sqls.getResult().data;
var stData:String=String(数据[0]);
警报。显示(stData);// 无论返回哪些行(使用(out))指定列,除非定义了SQLStatement的itemClass属性,否则它将始终返回匿名对象。这就是远程处理与AMF的工作原理
您可以做两件事(取决于项目的复杂性):
指定一个SQLStatement.itemClass-这将使用与列名同名的公共访问器(var或get/set)定义并上传返回结果
如果保留为匿名-列名将附加到对象,在该对象中您可以像定义对象一样迭代该对象
超级基本示例:
//SQL table schema
CREATE TABLE accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
num INTEGER NOT NULL,
name TEXT NOT NULL,
last_update DATE
);
//Define an Account class:
public class Account {
public var id:int;
public var num:int;
public var name:String;
public var last_update:Date;
}
//A statement to execute to get all accounts returned as an array of "Account"
var statement:SQLStatement = new SQLStatement();
statement.sqlConnection = myConn;
statement.itemClass = Account;
statement.text = 'SELECT * FROM accounts';
statement.addEventListener(SQLEvent.RESULT, onResults);
statement.execute();
protected function onResults(event:SQLEvent):void
{
var statement:SQLStatement = SQLStatement(event.currentTarget);
var results:SQLResult = statement.getResult();
for each (var account:Account in results)
{
//do something useful like populate a model, grid, etc...
}
}
//Anonymous objects would iterate much the same way -when an item class isn't defined
protected function onResults(event:SQLEvent):void
{
var statement:SQLStatement = SQLStatement(event.currentTarget);
var results:SQLResult = statement.getResult();
for each (var account:Object in results)
{
//our 'Object' will have properties: id, num, name, last_update
//do something useful like populate a model, grid, etc...
}
}
无论返回哪些行(使用(out))指定列,除非定义了SQLStatement的itemClass属性,否则它将始终返回匿名对象。这就是远程处理与AMF的工作原理
您可以做两件事(取决于项目的复杂性):
指定一个SQLStatement.itemClass-这将使用与列名同名的公共访问器(var或get/set)定义并上传返回结果
如果保留为匿名-列名将附加到对象,在该对象中您可以像定义对象一样迭代该对象
超级基本示例:
//SQL table schema
CREATE TABLE accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
num INTEGER NOT NULL,
name TEXT NOT NULL,
last_update DATE
);
//Define an Account class:
public class Account {
public var id:int;
public var num:int;
public var name:String;
public var last_update:Date;
}
//A statement to execute to get all accounts returned as an array of "Account"
var statement:SQLStatement = new SQLStatement();
statement.sqlConnection = myConn;
statement.itemClass = Account;
statement.text = 'SELECT * FROM accounts';
statement.addEventListener(SQLEvent.RESULT, onResults);
statement.execute();
protected function onResults(event:SQLEvent):void
{
var statement:SQLStatement = SQLStatement(event.currentTarget);
var results:SQLResult = statement.getResult();
for each (var account:Account in results)
{
//do something useful like populate a model, grid, etc...
}
}
//Anonymous objects would iterate much the same way -when an item class isn't defined
protected function onResults(event:SQLEvent):void
{
var statement:SQLStatement = SQLStatement(event.currentTarget);
var results:SQLResult = statement.getResult();
for each (var account:Object in results)
{
//our 'Object' will have properties: id, num, name, last_update
//do something useful like populate a model, grid, etc...
}
}
请尝试使用Objectutil.toString()代码>将任何类型的对象转换为字符串的函数。请尝试使用Objectutil.toString()代码>将任何类型的对象转换为字符串的函数。[object object object]是object类上toString()方法的结果。这意味着数据数组的每一项都是一个对象;不是一串。但是,您没有向我提供足够的信息来告诉您如何深入到对象中(或强制转换对象)以获取所需的文本数据。我的sqlite数据库只包含包含几列文本(100)的表,而我只需要一列。如果是这样的话,那么我们如何将sqls.getResult()数据转换为我想要的数据呢?我应该寻找什么样的类或方法?文本,而不是文本(100),对不起。我从mysql转换了它。现在我得到了另一个东西:[object]是对象类上toString()方法的结果。这意味着数据数组的每一项都是一个对象;不是一串。但是,您没有向我提供足够的信息来告诉您如何深入到对象中(或强制转换对象)以获取所需的文本数据。我的sqlite数据库只包含包含几列文本(100)的表,而我只需要一列。如果是这样的话,那么我们如何将sqls.getResult()数据转换为我想要的数据呢?我应该寻找什么样的类或方法?文本,而不是文本(100),对不起。我从mysql转换过来的。我现在得到了一些其他东西: