0

デバイスにSQLDBを必要とするアプリを開発しています。File.applicationStorageDirectoryとfolder.resolvePathを使用して新しいDBを追加しています。アプリをデバッグすると、すべて正しく実行されているように見え、新しいテーブルを正常に作成できます。

レコードの挿入と読み取りについてはあまり進んでいませんが、アプリを再実行すると、既存のDBファイルが新しい空のファイルに置き換えられますか?もしそうなら、ファイルが存在するかどうかなどを確認する必要があります。

デバイス上のDBを確認するにはどうすればよいですか(この段階ではiOS)?

ありがとう

4

2 に答える 2

1

はい、保存され、いつでもアクセスできます。これは、データベースだけでなく、あらゆるものに機能します(したがって、一般的な名前とオブジェクトタイプ)

var file:File = File.applicationStorageDirectory.resolvePath( "file.path" );
var obj:Object = { someRandom:"data" };
var fs:FileStream = new FileStream();
fs.open( file, FileMode.WRITE );
fs.writeObject( obj );
fs.close();

上記は、オブジェクトobjをデバイスに書き込みます。これはファイルを更新せず、ファイルを上書きすることに注意してください。ファイルを更新するには、次のようにします。

var file:File = File.applicationStorageDirectory.resolvePath( "file.path" );
if ( file.exists ) {
    var fs:FileStream = new FileStream();
    fs.open( file, FileMode.READ);
    var obj:Object = fs.readObject();
    fs.close();
}

次に、データを更新して、最初のスニペットで示したように書き込みを続行します

于 2012-12-10T23:00:51.690 に答える
0

これで試してください

resolvePathを使用している場合、ファイルが存在しない場合は作成され、それ以外の場合はそのままになります。resolvepathを使用している場合、上書きは発生しません。

また

を通じてすでに存在するかどうかを確認したい場合

        if(dbFile.exist) 
           trace('File already exists');

これを使って

        var dbFile:File = new File("app-storage:/" + "localdb.db");
        sqlConnection = new SQLConnection();            
        sqlConnection.addEventListener(SQLEvent.OPEN, onAuthorDatabase_OpenHandler);
        sqlConnection.addEventListener(SQLErrorEvent.ERROR, onSQLErroHandler);
        sqlConnection.openAsync(dbFile);

デバイスの保存場所(iOS)でdbファイルを検索する方法がわかりません。

于 2012-12-10T05:01:13.253 に答える