Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.Forms便携式+;Mono.Data.Sqlite.Portable_Sqlite_Xamarin.forms - Fatal编程技术网

Xamarin.Forms便携式+;Mono.Data.Sqlite.Portable

Xamarin.Forms便携式+;Mono.Data.Sqlite.Portable,sqlite,xamarin.forms,Sqlite,Xamarin.forms,大家好, 我正在用Xamarin.Forms Portable为iOS、Android和Windows Universal(10)构建一个应用程序 我正在尝试使用Mono.Data.Sqlite.Portable,但是我无法创建或连接到本地数据库,我尝试了许多解决方案来解决这个问题,但直到现在我还没有找到解决方案 错误出现在“connection.open();”处 代码是: var config = DependencyService.Get<DB.IConfig>();

大家好, 我正在用Xamarin.Forms Portable为iOS、Android和Windows Universal(10)构建一个应用程序

我正在尝试使用Mono.Data.Sqlite.Portable,但是我无法创建或连接到本地数据库,我尝试了许多解决方案来解决这个问题,但直到现在我还没有找到解决方案

错误出现在“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();
            }                
        }
var config=DependencyService.Get();
var cnn=config.DirectoryDB;
使用(var connection=newsqliteconnection(“”)+
新的SqliteConnectionStringBuilder
{
DataSource=“URI=file::memory:”,
版本=3,
}))
{
//ChangeDatabase(“hello.db”);
connection.Open();
使用(var transaction=connection.BeginTransaction())
{
var insertCommand=connection.CreateCommand();
insertCommand.Transaction=事务;
insertCommand.CommandText=“创建表TESTE(TESTE为varchar(10))”;
insertCommand.ExecuteOnQuery();
Commit();
}                
}
在“数据源”上,我有一个本地路径和其他路径。 (例如:.C:\Users\MyMachineName\AppData\Local\Packages\f736c883-f105-4d30-a719-4bf328872f5e\u nh7s0b45jarrj\LocalState\hello.db)

错误是:

Mono.Data.Sqlite.dll中发生“System.NotImplementedException”类型的异常,但未在用户代码中处理

附加信息:未实现该方法或操作

最后一张图片,可能会提供更多信息


提前感谢大家:)

我已经找到了解决方案,我希望它能帮助那些可能正在寻找与我相同的解决方案的人

只需转到Nuget,下载依赖于SQLitePCL(最新版本)的Portable.Data.Sqlite。 这个包(Portable.Data.Sqlite)将使用连接,并将创建SqliteDataReader和我们使用的其他属性

这将在Visual Studio 2015上起作用,项目必须在framework 4.51中+=

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


如果遇到以下错误:无法使用临时数据库或路径,只需下载Sqlite.dll并将其放在project BIN文件夹和System32/SysWoW64上。

您是否阅读了使用Sqlite和XF的文档?是的,我已经准备好了,并且我已经实现了他们展示的PCL版本,但是这个版本是ORM。我正在尝试使用OLEDB,该项目已经一年没有更新了,项目站点是404-我不确定我是否会依赖它