2017-08-28 68 views
-1

我正在使用Xamarin和Visual Studio 2017構建一個跨平臺的應用程序。我與連接到我的數據庫有問題。所以每當我啓動我的應用程序時,它總是因爲連接到數據庫而崩潰。這是我連接到數據庫的代碼。SQLite連接GetConnection /錯誤

public SQLiteConnection GetConnection() 
{ 
    var filename = "database.db3"; 
    var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); 
    var path = Path.Combine(documentsPath, filename); 

    var connection = new SQLiteConnection (new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid(), "database.db3", true); 
    return connection; 
} 

enter image description here

任何建議,我怎麼能解決這個問題。
謝謝你的建議。

+2

有什麼用,你做的前三行的第四行的? – Steve

+0

我即將包含路徑變量而不是文件名。其實我只是做了,但它不起作用。 – Jovan

+1

我認爲你應該嘗試捕捉由你的代碼引起的異常,並報告收到的確切錯誤消息。顯示的通用消息是在調試應用程序 – Steve

回答

0

我不確定SQLite在Xamarin Forms中的工作方式不同,但我使用SQLite.NET(Frank Krueger's)。根據你上面的示例,我所看到的需要的是使用你創建的路徑變量;您創建了名爲「path」的變量,但您從未使用它來打開連接。

這裏是我如何在我的一個Android(非表單)應用程序中執行此操作的示例。

public string DBPath 
    { 
     get 
     { 
      return Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "dbName.sqlite"); 
     } 
    } 

然後我創建這樣的SQLiteConnection:

using (var dbConnection = new SQLiteConnection(DBPath)) 
      { 
      ...      
      }