【发布时间】:2011-03-06 19:30:30
【问题描述】:
希望您可以从代码中看到我在这里尝试做的事情,基本上我需要检查数据库中是否存在记录,所以我调用了一个函数来执行此操作,但我使用的是 sqlrunner类,其中查询的结果被称为事件响应,我不知道如何从结果函数中将该值返回给父级。 我觉得我一定是在做一些倒退之类的事情..
public function dbmatch(datetime:String, typecode:String):Boolean {
var q:String = "SELECT DateTime FROM Event WHERE DateTime='"+datetime+"' AND EventTypeCode='"+typecode+"'"
SQLService.getInstance().execute(q,null,matchresult);
function matchresult(result:SQLResult):Boolean{
var match:String = result.data[0];
if (match == null){return false} else {return true}
}
return matchresult();
}
其他地方:
var recordexists:Boolean = dbmatch(datetime, "Gb");
if (!recordexists){...}
【问题讨论】:
-
到底是什么问题?它总是返回 true 吗?
-
@EyeSeeEm 我所拥有的实际上并没有提取返回表单 matchresult .. 它需要一个参数,但我不知道该怎么说。主要问题是 matchresult 最初是由事件侦听器调用的,我不知道它的返回结果。
-
啊,我明白了。然后我认为你需要改变程序流程。结果不能立即返回,因此您需要等待(即监听)它完成,然后继续执行。如果您需要它,我可以尝试编写一个示例,尽管我不确定它是否适用于您的情况,但它可能有助于澄清事情。
-
我需要它来发送它自己的自定义事件吗?我不断遇到这种情况,我想知道我是否以错误的方式处理事情。我只需要运行一个查询来检查是否存在某些东西,但是 sqlrunner 类似乎只适用于结果处理程序,所以我不知道该怎么做......
标签: actionscript-3 event-handling boolean return-value