0

Adobe Flash Builder 4.6 を使用

以下のコードは、actionscript を取得して sqlite テーブルからリストを作成するために使用しているものです。正しい数のレコードが返されますが、結果は [オブジェクト オブジェクト] [オブジェクト オブジェクト] [オブジェクト オブジェクト] のように表示されます。

誰かが私が間違っているかもしれないことを教えてもらえますか?

                    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);
            }
        }
4

2 に答える 2

0

これは私にとってはうまくいきました。たとえば、変数を一致させようとしました。

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)
    }
}
于 2012-08-30T22:56:32.443 に答える