對不起,如果問題之前問過,但我很好地處理了這個問題,我沒有找到答案。Android - 無法在Xamarin.forms(SQLite例外)中打開數據庫
我在我的Xamarin表單項目(PCL)中用SQLite處理本地數據庫。
1的連接iOS中工作良好,但在Android中我得到這個問題 (無法打開數據庫文件)
- 我還設置「ReadExternalStoarage」和「WriteExternalStoarage」權限。
2 - 我使用了一個創建,作爲連接路徑的另一種方法:
string documentsPath = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal);
string path = Path.Combine(documentsPath, "pbcare.db");
通過這種方式與數據庫打交道時異常發生了......
public bool checkLogin (string email, string password)
{
if (DB.Table<User>().Where (user => user.Email == email && user.Password == password)
.FirstOrDefault() != null) { // exception caught here
return true;
} else {
return false;
}
}
但該表在數據庫中。
注意:即使數據庫文件不存在,第二種方式也會創建連接!
謝謝@ Dylan-s的迴應。所以我需要創建所有我需要在應用程序中使用的表格,即使它已經在我的數據庫中創建了嗎?我試過這個,它並沒有在我的數據庫中創建任何東西。它也沒有插入數據。它就像數據庫不存在。所以無論應用程序插入或創建它都不在我的數據庫上!我不知道爲什麼! – Ibrahim
@Ibrahim你使用的是真實的設備還是仿真器?你可以使用Android工具來查看文件是否被創建?這聽起來像數據庫文件沒有被寫入(我不知道爲什麼會發生這種情況)。 – dylansturg
親愛的@ dylan-s。我正在使用模擬器。我確信數據庫文件已經創建,但我不知道在哪裏?以及爲什麼它不處理我的數據庫?爲什麼要創建一個新的?無論如何,我使用Android工具,如你所說 - 第一次我知道這個很酷的東西 - 它在那裏!數據庫文件在那裏包含我之前插入的所有數據!謝啦。非常感謝 – Ibrahim