用于从sqlite表填充列表的actionscript
使用AdobeFlashBuilder4.6 下面的代码是我用来尝试获取actionscript以从sqlite表填充列表的代码。它会返回正确的记录数,但会将结果显示为: [对象] [对象] [对象] 有人能告诉我我可能做错了什么吗用于从sqlite表填充列表的actionscript,sqlite,adobe,flash-builder,Sqlite,Adobe,Flash Builder,使用AdobeFlashBuilder4.6 下面的代码是我用来尝试获取actionscript以从sqlite表填充列表的代码。它会返回正确的记录数,但会将结果显示为: [对象] [对象] [对象] 有人能告诉我我可能做错了什么吗 private var strGetDBName:String = "CPRInstr.db"; private var strGetCurrentTableName:String = "lkStates";
private var strGetDBName:String = "CPRInstr.db";
private var strGetCurrentTableName:String = "lkStates";
import flash.data.SQLConnection;
import flash.data.SQLResult;
import flash.data.SQLStatement;
import flash.filesystem.File;
import mx.collections.ArrayCollection;
private var conn:SQLConnection;
private function init():void
{
conn = new SQLConnection();
conn.addEventListener(SQLEvent.OPEN, openSuccess);
//conn.addEventListener(SQLErrorEvent.ERROR, openFailure);
var dbFile:File = File.applicationDirectory.resolvePath(strGetDBName);
conn.openAsync(dbFile);
}
private function openSuccess(event:SQLEvent):void
{
conn.removeEventListener(SQLEvent.OPEN, openSuccess);
//conn.removeEventListener(SQLErrorEvent.ERROR, openFailure);
getData();
}
private function getData():void
{
var select:SQLStatement = new SQLStatement();
select.sqlConnection = conn;
//select.text = "SELECT id, txtState, txtAbbrev FROM " + strGetCurrentTableName;
select.text = "SELECT id, txtState FROM lkStates";
select.addEventListener(SQLEvent.RESULT, selectResult);
//select.addEventListener(SQLErrorEvent.ERROR, selectError);
select.execute();
}
private function selectResult(event:SQLEvent):void
{
var result:SQLResult = null;
result = event.currentTarget.getResult();
if(result.data)
{
list.dataProvider = new ArrayCollection(result.data);
}
}
这对我来说很有效,例如,我尝试匹配你的变量
var result:SQLResult = select.getResult();
list.dataProvider = new DataProvider(result.data);
if(result.data)
{
for(var i:int = 0; i < result.data.length; i++)
{
var tState:Object = result.data[i];
trace("var1 "+tState.var1+"var2 "+tState.var2...etc)
}
}
var-result:SQLResult=select.getResult();
list.dataProvider=新的数据提供程序(result.data);
if(结果数据)
{
对于(变量i:int=0;i
您需要将列表中的labelField设置为表中的字段名,以便它可以显示在列表中。在列表声明中键入:labelField=“txtState”,您将从该字段获得信息。您是指在函数selectResult()
中?