2016-02-10 135 views
0

大家好日子, 我正在Xamarin.Forms Portable中为iOS,Android,Windows Universal(10)构建应用程序。我试图使用Mono.Data.Sqlite.Portable,但我不能够创建或连接到本地数据库,我已经尝试了很多解决方案来解决这个问题,但直到现在我dint找到解决办法..Xamarin.Forms便携式+ Mono.Data.Sqlite.Portable

错误是trow在“connection.open();”

的代码是:

var config = DependencyService.Get<DB.IConfig>(); 
     var cnn = config.DirectoryDB; 


     using (var connection = new SqliteConnection("" + 
      new SqliteConnectionStringBuilder 
      { 
       DataSource = "URI=file::memory:", 
       Version=3, 

      })) 
     { 
      //connection.ChangeDatabase("hello.db"); 

      connection.Open(); 
      using (var transaction = connection.BeginTransaction()) 
      { 
       var insertCommand = connection.CreateCommand(); 
       insertCommand.Transaction = transaction; 
       insertCommand.CommandText = "CREATE TABLE TESTE(teste as varchar(10))"; 
       insertCommand.ExecuteNonQuery(); 
       transaction.Commit(); 
      }     
     } 

的“数据源”我有一个本地路径,而其他路径。 (例:。C:\用户\ MyMachineName \应用程序数据\本地\软件包\ f736c883-f105-4d30-a719-4bf328872f5e_nh7s0b45jarrj \ LocalState \ hello.db)

错误是:

例外型的“System.NotImplementedException”发生Mono.Data.Sqlite.dll但在用户代码中没有处理

其他信息:该方法或操作未实现。

ImageError

Connection Extra Information

的最后一张照片,它可以提供更多的信息.​​...

谢谢大家提前:)

+0

你读过关于在XF上使用SQLite的文档吗? https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/ – Jason

+0

是的,我已经准备好了,我已经实现了它们显示的PCL版本,但是该版本是ORM。 我试图使用OleDB –

+0

该项目一年未更新,项目网站是404 - 我不确定我会依赖它 – Jason

回答

0

我已经找到了解决办法,我希望它可以帮助那些可能与我一样寻找的人。

只要去Nuget - 下载Portabl e.Data.Sqlite依赖于SQLitePCL(最新版本)。 这个包(Portable.Data.Sqlite)它将使用连接并将创建SqliteDataReader和我们用来使用的其他属性。

这将工作在Visual Studio的2015年,该项目必须在架构4.51 + =

----错误提示----

,如果你遇到这样的错误:不能使用临时数据库或路径,只需下载Sqlite.dll并放置在项目BIN文件夹和System32/SysWoW64上。