我有数据库,我想在我的项目中导入它,首先我将一个SQLITe组件添加到我的项目中,并将我的数据库插入ASSETS文件夹。
我见过的所有示例都是关于如何在项目中创建数据库,但我已经有了数据库,我想进行一些查询以在我的应用程序中显示它。
我查看了这个教程: Use a local database in Xamarin
但它不起作用!
这是我的代码:
void conndb ()
{
string dbName = "Chinook_Sqlite.sqlite";
string dbPath = Path.Combine (Android.OS.Environment.ExternalStorageDirectory.ToString (), dbName);
// Check if your DB has already been extracted.
if (!File.Exists(dbPath))
{
using (BinaryReader br = new BinaryReader(Assets.Open(dbName)))
{
using (BinaryWriter bw = new BinaryWriter(new FileStream(dbPath, FileMode.Create)))
{
byte[] buffer = new byte[2048];
int len = 0;
while ((len = br.Read(buffer, 0, buffer.Length)) > 0)
{
bw.Write (buffer, 0, len);
}
}
}
using (var conn = new SQLite.SQLiteConnection(dbPath))
{
var cmd = new SQLite.SQLiteCommand (conn);
cmd.CommandText = "select * from Album where AlbumId=1;";
var r = cmd.ExecuteQuery<Album> ();
Console.Write (r);
}
}
}
有任何帮助吗?
答案 0 :(得分:0)
您需要使用文件资源管理器将您的SQLite数据库上传到您的Android设备。您将需要使用Android Studio,我不相信Xamarin Studio具有相同的工具。
如果从Android Studio启动Monitor(工具栏上的绿色机器人图标,帮助图标的左侧),则可以选择“文件资源管理器”选项卡。您应该能够将您的数据库文件上传到您在Xamarin C#代码中调用的位置。