좋아요. 이상한 타이밍 문제를 발견 한 것 같습니다. SQL 문을 실행하기위한 빠른 SQL 래퍼 클래스를 만들었습니다. 그러나 .execute()가 호출 된 후 SQLEvent.RESULT 이벤트는 실행되지 않지만 DB의 새 항목은 있어야하므로 작성됩니다. 실제로 정말 이상한 부분은 execute()를 호출 한 직후에 setTimeout()을 놓으면 예상되는 이벤트가 발생하는 것입니다. 여기에 정말 분명한 뭔가가 빠졌 으면 좋겠습니다. 여기에 예제 air app : 에 대한 링크가 있습니다. 당신이로 SQLRequest 클래스에서 라인 (51)을 내려다 보면AIR Sqlite : SQLEvent.RESULT가 실행되지 않지만 문이 올바르게 실행 중입니다.
, 당신은 주석에서는 setTimeout() 메소드가 표시됩니다 여기
그리고 http://www.massivepoint.com/airsqltest/AIRSQL.zip는 래퍼 클래스에 대한 코드입니다. 모든 것이 작동하도록하려면 그 줄을 주석 처리하십시오. 그러나 나에게 이것은 어떤 의미가 없습니다 ...
누구든지 어떤 생각을 가지고 있습니까? 나는 완전히 여기에서 곤란하다. ...
package com.jac.sqlite
{//Package
import flash.data.SQLConnection;
import flash.data.SQLStatement;
import flash.events.EventDispatcher;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.utils.setTimeout;
public class SQLRequest extends EventDispatcher
{//SQLRequest Class
private var _callback:Function;
private var _dbConn:SQLConnection;
private var _query:String;
private var _params:Object;
private var _statement:SQLStatement;
public function SQLRequest(callback:Function, connection:SQLConnection, query:String, parameters:Object=null):void
{//SQLRequest
trace("Creating new SQL Request");
_callback = callback;
_dbConn = connection;
_query = query;
_params = parameters;
_statement = new SQLStatement();
_statement.sqlConnection = _dbConn;
_statement.text = _query;
if (_params != null)
{//assign
for (var param:String in _params)
{//params
trace("Setting Param: " + param + " to: " + _params[param]);
_statement.parameters[param] = _params[param];
}//params
}//assign
//setup events
_statement.addEventListener(SQLEvent.RESULT, handleResult, false, 0, true);
_statement.addEventListener(SQLErrorEvent.ERROR, handleError, false, 0, true);
}//SQLRequest
public function startLoad():void
{//execute
_statement.execute();
//setTimeout(handleTimeOut, 10000);
}//execute
//TEMP
private function handleTimeOut():void
{//handleTimeOut
trace("Executing: " + _statement.executing + "/" + executing);
}//handleTimeOut
private function handleResult(e:SQLEvent):void
{//handleResult
trace("Good SQL Request");
_callback(e);
dispatchEvent(e);
}//handleResult
private function handleError(e:SQLErrorEvent):void
{//handleError
trace("SQL Error: " + e.errorID + ": " + e.error);
//dispatchEvent(e);
}//handleError
public function get executing():Boolean
{//get executing
return _statement.executing;
}//get executing
public function get query():String { return _query; }
public function get statement():SQLStatement { return _statement; }
}//SQLRequest Class
}//Package
aahh 쓰레기 :
내 말은이 같은 것입니다! – Jake