2014-03-07 57 views
0

我真的對flex非常新,現在我在嘗試學習將我的應用程序前端連接到數據庫時遇到此錯誤。 錯誤:1067:將數組類型值的隱式強制轉換爲不相關的類型mx.collections:IList。1067:將數組類型的值隱式強制爲無關類型mx.collections:IList

private function onDatabaseOpen(event:SQLEvent):void 
{ 
    // init sqlStatement object 
    sqlStmt = new SQLStatement(); 
    sqlStmt.sqlConnection = conn; 
    var sql:String =   "CREATE TABLE IF NOT EXISTS user (" + 
    " id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
    " password TEXT" + 
    ")"; 
    sqlStmt.text = sql; 
    sqlStmt.addEventListener(SQLEvent.RESULT, statResult); 
    sqlStmt.addEventListener(SQLErrorEvent.ERROR, createError); 
    sqlStmt.execute(); 
} 
private function statResult(event:SQLEvent):void 
{ 
    // refresh data 
    var sqlresult:SQLResult = sqlStmt.getResult(); 

    if(sqlresult.data == null) 
    { 
    getResult(); 
    return; 
    } 

    datafiled.dataProvider = sqlresult.data; 
} 

回答

3

我的建議是你的代碼的最後一行更改爲:

datafiled.dataProvider = new ArrayCollection(sqlresult.data); 

我不知道什麼是你「數據字段」,但我認爲它的財產「數據提供程序」實現MX。集合:IList接口,因此您需要指定一個也實現mx.collections:IList接口的對象。 sqlresult.data是Array並且Array對象不會實現此接口。因此,您應該從陣列中創建ArrayCollection。 ArrayCollection實現所需的接口。

相關問題