我发送一个事件时,一个SQL查询返回没有匹配,这样我就可以继续添加到数据库..看起来像动作要求我附加侦听器的东西,但我真的没有任何变量在我的代码中,这似乎是合乎逻辑的候选人。在侦听自定义事件时,要添加EventListener的内容?
我只是想侦听isNewRecord事件被调用,以便我可以运行插入查询;现在它说是调用addEventListern和dispatchEvent可能未定义的方法
public function addBG(BG:Number, datetime:String, batch:Boolean = false):void{
checkRecord('Gb', datetime, matchRecord);
addEventListener("isNewRecord", recordExists);
function recordExists()
{/*code to execute query*/}
public function matchRecord(result:SQLResult):void {
var match:String = result.data[0];
if (match == null) {
var allClear:Event = new Event("isNewRecord");
dispatchEvent(allClear);
}
}
我的问题是,我试图做一种数据库模型,每种类型数据的“添加”功能;但我需要验证它不在那里,这需要超出该函数w/sqlresult ..我认为最好不要做所有的参数类属性。也许这就是我必须要做的......不,它不会扩展事件调度程序,因为这在语义上没有意义,但我想这就是为什么添加/调度事件不起作用?尽管相同的代码直接在mxml文件中工作。 – Damon 2011-03-16 03:45:30
是的,你需要有一个EventDispatcher对象,或者让这个类扩展EventDispatcher以便使用addEventListener/dispatchEvent方法...所以在语义上它是有意义的。你应该把“addEventListener”方法放在“checkRecord”之上。这是我的不好,我编辑了我的代码。对于Model对象来说,检查数据库并引发Exception或某种逻辑来处理已经存在的结果是很好的。 – 2011-03-16 14:32:52