0

我启动 Xamarin Studio 4.0.3 并为 MonoDroid 应用程序创建一个新的解决方案。我的目标是 2.3 或更高版本。我包括来自 sqlite-net(来自站点的最新)项目的 Sqlite.cs。我确保我在项目中引用了 Mono.Data.SQLite。然后在默认 MainActivity 的 OnCreate 中,我尝试使用自述文件中显示的代码来建立数据库连接:

string path = Android.OS.Environment.DataDirectory.ToString();

string dbname = path + "/" + "test.db3";
var db = new SQLiteConnection(dbname, SQLiteOpenFlags.Create|SQLiteOpenFlags.ReadWrite ,true);

但是它总是失败,并出现一个异常说它无法打开数据库。如果我遵循 Greg Shackles 示例并使用 SqliteDbHelper 方法,它可以工作,但我想了解我做错了什么,即 sqlite-net 连接方法不起作用。我有一种感觉,我错过了一些简单的东西。我也尝试过将文件名传递给 SQLiteConnection() ,但是当它失败时,我添加了 OpenFlags 以查看是否是问题所在。

4

1 回答 1

1

我刚刚发现显然您应该使用个人文件夹,而不是数据库文件夹:

string folder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var db = new SQLiteConnection(Path.Combine(folder, "mydb.db"));
于 2013-05-23T14:07:25.470 回答