2011-06-27 5 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

? –

+0

行22、これは 'sqlConnection.open(dbFile);'です。 – Francisc

答えて

1

私はあなたがそれを使用する前に、あなたのSqlConnectionオブジェクトをインスタンス化する必要があると思う:TypeError例外を投げているものをライン

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

母、私はそれを逃したと信じることはできません。私は今、ほぼ2日間それを把握しようとしています...ありがとう、6。 – Francisc

関連する問題