问题标签 [sqlite-net-pcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SQLite System.DllNotFoundException: e_sqlite3 使用 sqlite-net-pcl
您好,我正在尝试在 Xamarin Forms 项目中使用 SQLite。但我很难让它工作。我将提供有关我的项目配置的信息:
- Xamarin 版本-> 4.6.0.726
- 代码共享策略 -> .NET 标准
- sqlite-net-pcl 1.6.292
问题:当我尝试获取连接时抛出以下异常-> {system.typeinitializationexception:“sqlite.sqliteconnection”的类型初始化程序引发了异常。---> system.dllnotfoundexception: e_sqlite3 at (wrapper managed-to-native) sqlitepcl.sqlite3provider_e_sqlite3+nativemethods.sqlite3_libversion_number() at sqlitepcl.sqlite3provider_e_sqlite3.sqlitepcl.isqlite3provider.sqlite3_libversion_number () [0x00000] in :0 at sqlitepcl.raw。 setprovider (sqlitepcl.isqlite3provider imp) [0x00008] in :0 at sqlitepcl.batteries_v2.init () [0x00005] in :0 at sqlite.sqliteconnection..cctor () [0x00016] in <84b9c9e630fa45bd8ac799333976ebbf>:0 --- end内部异常堆栈跟踪 --- 在 sqlite.sqliteconnectionwithlock..ctor (sqlite.sqliteconnectionstring connectionstring) [0x0000b] in <84b9c9e630fa45bd8ac799333976ebbf>:0 at sqlite.sqliteconnectionpool+entry.connect () [0x0001c] in <
我做了深入的研究,但没有发现任何对我有用的东西。我访问的最后一篇文章是:Android - 'SQLite.SQLiteConnection' 的类型初始化程序引发了异常。---> System.DllNotFoundException: e_sqlite3接受的答案只是说在 android 项目上安装 nugget 将解决问题(我已经做过的事情)
我将展示一些代码以及我的掘金的外观。机器人包
共享代码项目包
用于获取路径的接口
机器人实现
生成异常的代码
如果需要更多信息,我希望有人可以帮助我,请告诉我,我会提供。PS:在使用 PCL 的共享代码策略工作的项目上做同样的事情,但我需要在使用 .NET 标准作为共享代码策略的项目中工作。谢谢
GitHub:https ://github.com/jesse0099/Hackathon2019-Movil.git
sqlite - Xamarin.Forms SQLite 异常 - 不了解 PartsManagement.Models.Part[] (<- 自定义类)
对于这个问题的重新发布,我感到很抱歉,但原始问题从未以我可以理解和利用的方式得到回答。我不确定是否应该尝试重新提出这个问题或产生一个新问题。
我正在尝试将 Part 对象添加到我创建的数据库中的 Part 表中。我在执行过程中收到以下错误
从错误消息中,我确定错误似乎发生在执行第 25 行期间
在 NewPartsPage.xaml.cs 文件中:
这是零件类:
和数据库文件:
该错误似乎进一步表明 NewPartsPage 无法找到 Part 对象,但我已使用正确的 using 语句using PartsManagement.Model; 来引用它;. 我不确定错误中的方括号是否重要。它是否试图将 Parts 对象的特定实例化为数组?我已经查看了sqlite 关键字,但其中似乎没有包含 Part。我的文件夹结构是否会影响我正在寻找的功能?我已在本地数据库教程中执行了此功能,但此示例的不同之处在于我尝试使用不同的文件夹结构。不知道这会如何影响,但以防万一我提出来。
此示例文件夹结构
包括产品类别,因为它是导致此问题的根本原因的关键。
sqlite - 将其连接到 sqlite 后无法构建我的应用程序
好的,所以当我运行我的应用程序时,我只得到一个:System.AggregateException,我试图用调试器发现它,它把我带到了 AgendaDatabase.cs 文件中的这个函数:
在使用调试器定位 System.AggregateException 之前,我在 AcceuilPage.xaml.cs 中也有此函数的 SystemAggregateException:
当我再执行一次时,它说:未处理的异常:SQLite.SQLiteException:没有这样的表:议程这很奇怪,因为如果代码不存在,则应该创建它。
这是我正在关注的教程:https ://docs.microsoft.com/en-us/xamarin/get-started/quickstarts/database?pivots=windows
谢谢你的帮助。
我已经多次完成这些步骤,甚至听过类似的教程,但没有解决方法:代码如下:
AgendaDatabase.cs(在数据库文件夹中)
Models 文件夹中的 Agenda.cs
Views 文件夹中的 AcceuilPage.xaml
AcceuilPage.xaml.cs
xamarin - 如何在我的 xamarin 表单项目中使用 sqlite-net-pcl 设置外键
谷歌搜索了一段时间后,我还没有看到有关如何使用 nuget sqlite-net-pcl 为我的 xamarin.forms 应用程序创建具有外键的表的示例。
假设我有 GroupTask.cs,其中存储了初始 GroupTask:
现在我想创建将在每个 GroupTask 中使用的 Task.cs ( GroupTask 包含多个任务)。但是如果可能的话,我该如何设置呢?
sqlite-net-pcl 可以吗?谢谢。
sqlite - 如何使用 sqlite-net-pcl 和 sqliteExtensions 从 xamarin 表单中的外键表中添加/加载/删除项目
嗨,我有这两个表(不确定它们是否写得正确)一个议程可以包含许多任务,我的问题是我如何编写在我的议程中添加/删除/加载我的任务的方法,我不确定这是如何工作的当你有一个外键?谢谢你。
Models 文件夹中的 Agenda.cs
模型文件夹中的 Tasks.cs
Database 文件夹中的 AgendaDatabase.cs (我目前对 Agenda 表的所有操作)
c# - 如何使用 SQLiteNet-Extensions 对具有外键的表执行 CRUD 操作
我将 sqlite-net-pcl 与 SqLiteNetExtensions 一起使用作为外键。我有这两个表(不确定它们是否写得正确)一个议程可以包含许多任务,我的问题是我如何编写 CRUD 方法来在我的议程中添加/删除/加载我的任务,我不确定这是如何工作的当你有一个外键?
我试图理解文档:https ://bitbucket.org/twincoders/sqlite-net-extensions/src/master/
没有任何成功,我没有得到的是WithChildren方法似乎没有被识别,除非database = new SQLiteAsyncConnection(dbPath);它不适用于SqliteNetExtensions。请注意,我的议程的 CRUD 方法正在工作,但我正在尝试为这些任务实现 CRUD 方法。同样在我的名为 GetAgendaAsync() 的议程方法中,我不确定这是否会加载带有任务的数据,或者我必须在加载时做一些事情来将任务添加到其中?
谢谢,我有点迷失了。
Models 文件夹中的 Agenda.cs
模型文件夹中的 Tasks.cs
Database 文件夹中的 AgendaDatabase.cs (我目前对 Agenda 表的所有操作)
visual-studio - Visual Studio 安装程序项目打包 DotNetCore 而不是 Framework
我已经在这个上面转了一天多。我有一个使用sqlite-net-pcl.
我准备将这个项目打包成一个 MSI 进行分发 (x64)。SQLitePCLRaw.bundle_green第一个问题是我需要直接为依赖项( )添加 nuget 。当一个 nuget 包包含需要找到进入最终版本的内容文件时,我曾经遇到过这种情况。一帆风顺。
在这一点上,bin/x64/release它很好并且运行良好。但是,当我构建安装程序并运行已安装的版本时,出现以下异常:
System.BadImageFormatException:无法加载文件或程序集“System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。不应加载引用程序集以供执行。它们只能在 Reflection-only loader 上下文中加载。(来自 HRESULT 的异常:0x80131058)---> System.BadImageFormatException:无法加载要执行的参考程序集。
在我的发布文件夹和应用程序安装文件夹之间进行文件比较,我发现以下内容:
在进一步检查并深入研究 DLL 之后,我发现如果我System.Runtime.CompilerServices.Unsafe.dll用发布文件夹中的二进制文件覆盖一切正常。
进一步挖掘并检查安装程序版本,CompilerServices.Unsafe我意识到安装程序正在获取 DLL 的 dotnet 核心版本。
我已将其隔离为带有全新安装程序项目的单个控制台应用程序,并且仅将contentand添加output到安装程序中。
为什么安装程序坚持依赖是 dotnet 核心版本?
android - 选择存在与计数
我正在使用 Sqlite-net-pcl。我需要哪个查询更好用。如果至少有一条记录,我正在表中搜索。
第一次查询
第二次查询
两个查询都正常工作。但是,使用 sqlite-net-pcl 的最佳方法是什么?
xamarin.forms - SQLite.NET PCL 在自动增量主键的所有实例中返回 0
我完全不明白这一点,因为我已经在 Xamarin 应用程序中使用了这个库好几年了。
我有这个基类,其中包含所有 db 项中常见的属性:
现在,我从中得出:
这是我所看到的简化版本:
我显然错过了一些东西,但对于我的生活,我无法弄清楚是什么......
c# - 如何在 SQLite 中使用不可变对象?
尝试初始化我的SQLite-NET数据库时,我不断收到以下错误:
无法创建没有列的表('PersonModel' 有公共属性吗?)
我有一个PersonModel我想要不可变的类,但是 SQLite 告诉我它PersonModel必须是可变的,例如每个属性都必须使用public set;.
如何继续使用具有不可变属性的 SQLite-NET ?