2011-06-27 41 views
0

我試圖連接到位於項目的assets文件夾中的SQLite數據庫。 我寫了一個類,這裏​​是拋出一個錯誤的部分:Flex 4.5.1 - 移動模擬器上的數據庫訪問問題

public class Database 
{ 
    private var sqlConnection:SQLConnection; 

    public function connect(db:String):Object 
    { 
     var response:Object={status:false,message:''}; 
     try 
     { 
      var dbFile:File=File.applicationDirectory.resolvePath(db); 
      sqlConnection.open(dbFile); 
      response.status=true; 
      response.message=''; 
     } 
     catch(error:SQLError) 
     { 
      response.status=false 
      response.message=error.message; 
     } 
     return response; 
    } 
} 

我調用類的creationComplete處理器的MXML視圖組件:

private function init():void 
{ 
    var db:Database=new Database(); 
    var connectResponse:Object=db.connect('assets/data.db'); 
    if(connectResponse.status) 
    { 
     //getData() runs a simple select query and returns an array 
     acData=new ArrayCollection(db.getData()); 
    } 
    else 
    { 
     //If the status is false I show a label control for debugging 
     labelError.text=connectResponse.message; 
     labelError.includeInLayout=true; 
     labelError.visible=true; 
    } 

    list.dataProvider=acData; 
} 

我得到的錯誤是沿線的東西:TypeError: Error #1009: Cannot access a property or method of a null object reference.

+1

什麼線扔類型錯誤? – 2011-06-27 11:50:44

+0

第22行,它是'sqlConnection.open(dbFile);'。 – Francisc

回答

1

我認爲你需要使用它之前,實例化的SqlConnection:

sqlConnection = new SQLConnection(); 
sqlConnection.open(dbFile); 
+0

哈哈,我不敢相信我錯過了。我一直試圖找出近2天的時間...謝謝你,6。 – Francisc