2015-04-17 74 views
0

我有数据库,我想将其导入我的项目,我首先加入一个SQLite组件到我的项目,并插入我的数据库资产的文件夹。如何导入数据库并在xamarin中本地使用它?

,我已经看到它是关于如何在项目中创建数据库中的所有例子,但我已经有数据库,我想作出一些查询我的应用程序,以显示它。

我查了一下这个教程: 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); 
      } 
     } 
    } 

任何帮助吗?

+1

“但它不工作” - 这是什么意思?你有错误或例外吗?它不会编译? – Jason

+0

是的,我可以建立和编译我的应用程序,但是当它运行到我的模拟器我的应用程序应声 – user3348242

+1

那么,什么线都会崩溃吗?你有没有试图调试它来追踪错误? – Jason

回答

0

你需要将你的SQLite数据库上传到您使用文件资源管理器Android设备。您将需要使用Android Studio,我不相信Xamarin Studio具有相应的工具。

如果你开始从Android录音室监听(工具栏上的绿色机器人图标,帮助图标的左侧),然后你可以可以选择文件浏览器选项卡。您应该可以将您的数据库文件上传到您在Xamarin C#代码中调用的位置。

相关问题