【发布时间】:2015-06-24 05:33:19
【问题描述】:
我有数据库,我想在我的项目中导入它,首先我在我的项目中添加了一个 SQLITe 组件并将我的数据库插入到资产文件夹中。
我看到的所有示例都是关于如何在项目中创建数据库,但我已经有了数据库,我想进行一些查询以在我的应用程序中显示它。
我查看了本教程: 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);
}
}
}
有什么帮助吗?
【问题讨论】:
-
“但它不起作用” - 这是什么意思?您是否收到错误或异常?它不会编译吗?
-
是的,我可以构建和编译我的应用程序,但是在我的模拟器中运行它时,我的应用程序崩溃了
-
嗯,它在哪一行崩溃了?您是否尝试对其进行调试以跟踪错误?
-
我在此方法中添加了尝试并给了我一个异常...我如何追踪它?
-
你遇到了什么异常?您是否尝试过在调试器中逐行执行代码以查找导致异常的特定行?您还可以查看异常对象中的堆栈跟踪以找到错误的来源。
标签: sqlite xamarin xamarin-studio