希望你能從代碼中看到我在這裏想要做的一些事情,基本上我需要檢查數據庫中是否存在一條記錄,所以我調用了一個函數來實現,但我使用的是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