2012-12-10 57 views
0

我正在開發一個需要設備上的SQL DB的應用程序。我正在使用File.applicationStorageDirectory和folder.resolvePath來添加一個新的數據庫。當調試應用程序時,它看起來像它正確執行,我能夠成功地創建一個新的表。iOS AS3 AIR本地存儲

我沒有太多的插入和讀取記錄,但我只是想問,當我重新運行應用程序時,現有的數據庫文件被替換爲一個新的空的嗎?如果是這樣,我需要檢查文件是否存在等。

如何查看設備上的數據庫(此階段的iOS)?

感謝

回答

0

如果您使用與resolvePath如果文件不存在,它爲您創建否則就離開,如果你使用與resolvePath它is.Overwrite永遠不會發生這種

嘗試。

OR

如果你想檢查是否通過

已經存在
 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版)。

0

是的,它將被保存,您可以隨時訪問它。這對於任何工作,而不僅僅是數據庫(因此通用名稱和對象類型)

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(); 
} 

然後更新您的數據,然後繼續寫我在第一個片段顯示