希望你能从代码中看到我在这里想要做的一些事情,基本上我需要检查数据库中是否存在一条记录,所以我调用了一个函数来实现,但我使用的是sqlrunner类其中查询的结果被称为事件响应,我不知道如何将结果函数中的值从父函数返回。 我觉得我必须倒着做的事情或东西..如何从此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){...}
到底是什么问题?它总是回归真实? – 2011-03-06 21:31:16
@EyeSeeEm我在那里有什么实际上并没有拉回形式matchresult ..它需要一个参数,但我不知道如何把它。主要的问题是matchresult最初是由一个事件监听器调用的,我不知道它返回的位置。 – Damon 2011-03-06 21:37:34
啊,我明白了。那么我认为你需要改变程序流程。结果无法立即返回,所以您需要等待(即听)完成,然后继续执行。如果你需要它,我可以尝试写一个例子,虽然我不确定它会适用于你的案例,但它可能有助于澄清事情。 – 2011-03-06 22:20:31