问题标签 [sqlite.net]

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.

0 投票
1 回答
137 浏览

sqlite-net-extensions - 更新后的 SQLite.Net 和 SQLiteNetExtensions 错误 - 关系和主键

我刚刚更新了我的项目中的所有 SQLite 块包。所有数据库操作都工作得很好。

现在,当我尝试这个时: items = db.GetAllWithChildren();

我收到此错误: Item.ItemEvents:OneToMany 关系来源必须具有主键

因此,代码没有任何变化,主键是字符串形式的 GUID 所有实体都继承自这样的基类:

该错误是否意味着我不能/不应该从实现 Id 属性的基类继承?每个类都应该实现它自己的 Id 属性吗?

我只是问,因为所有这些属性/关系都是通过反射整理出来的,并且某些东西可能已经改变以否定我是如何构建实体层的......

不知道为什么我现在得到这个而不是在更新所有 SQLite 插件之前......

Thx SQLite 软件包已安装

0 投票
0 回答
322 浏览

xamarin - 将数据保存到后台服务上的 SQLite.Net

我正在开发一个 Xamarin Android 应用程序。目前我正在从 Web 服务中提取数据以获取 Foo 的对象。为了使这个应用程序成为离线应用程序,我还在每次迭代解析 Foo 数据后将每个项目保存到数据库中。

这确实使应用程序变慢,所以我正在考虑将项目保存在后台服务上,并将每个 Foo 项目排队等待保存。

您可以将要保存的项目排队并将它们传递给后台服务并在完成后允许通知 UI 吗?

0 投票
1 回答
1133 浏览

sqlite - SQLite.net 数据库与 Xamarin.Forms 应用程序

我的 Xamarin.Forms PCL 项目中的 SQLite 数据库有问题。我遵循了 Microsoft Docs 中的这个示例:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/databases

我一直在使用自己的类型来存储数据,并且对于简单的自定义类型来说它工作正常,但我最近List<int>在自定义对象(信息)中添加了考勤类型。

现在,当我尝试创建对象时,出现以下错误:

不了解 System.Collections.Generic.List`1[System.Int32] 不了解 MyApp.Attendance

这是初始化代码:

我将 Xamarin.Forms 与 Xamarin.iOS 一起使用。

0 投票
1 回答
1174 浏览

sqlite.net - SQLite.net:查询一列

我有以下形式的模型:

如何按 ID 只查询一列?我试过这个:

这将在 p 中返回一整行 LanguageText,而我只希望 [de] 行的内容作为字符串。

我该如何做到这一点?

0 投票
1 回答
500 浏览

android - Xamarin、Android、PCL SQLLite、SQLite.NET 混乱

在网上搜索时,很难理解要在 Xamrin 解决方案中安装的 nuget 包,有几十个包,几十个不同的解决方案。

目前,我们的解决方案有 2 个项目,一个是 Android 项目,一个是 PCL 项目。我们的模型和数据访问在 PCL 中定义。我们的平台实现是在 Android 中定义的。

我们需要 SQLite、SQLite.Net(用于数据注释和表关系)和用于 *withchildren 方法的 SQLiteExtentions。

我们被困在旧版本中,因为每当我们尝试更新任何东西时,我们安装的软件包协同工作的脆弱神奇方式就会崩溃。我们确实需要升级或找到一种方法将 SQLCipher 添加到这个奇怪的 nuget 包中。

我们当前安装的软件包,它的工作原理:

安卓项目

PCL 项目(模型定义和数据访问方法)

目前,如果我们将 SQLiteExtensions 更新到 2.0,则会安装一堆其他 SQLite nuget 包,这会破坏我们数据访问代码的脆弱稳定性(在 *WithChildren 方法上失败:

我们还需要合并 SQLiteCipher,并且无法使任何包组合与我们的解决方案一起使用。

我们的 Android 平台特定实现:

PCL 中的(简化的)基本数据访问类:

任何人都可以帮助我们如何在像我们这样的项目中使用 SQLite 与 SQLIte.net、SQLiteExtentions 和 SQLIte 密码?(pcl中的数据访问和android项目中的连接实现?

0 投票
1 回答
5161 浏览

sqlite - SQLite 默认值为布尔列,未按预期工作

我有一个SQLite包含以下实体的表:

当应用程序启动时,我正在创建一个表。

我想添加默认值设置为 0 - false 的新布尔列,SQLite因为它将 bool 存储为 0 或 1。

我尝试了以下方法:

情况1 :

输出:这在 SQLite 的 DB 浏览器中显示 Null

案例2:

输出:这会在 conn.CreateTable(); 处引发异常;- 无法从 bool 转换为 int。

案例3:

输出:这在 SQLite 的 DB 浏览器中显示 False 值,而不是 0。当服务器返回数据时,我保存/更新它们,然后在更新的行中将它们显示为 0 或 1,因为服务器将其作为整数值处理。

我想知道 :

案例 1:为什么它显示 Null 而不是 0 默认值?

案例2:为什么会抛出异常?

案例 3:为什么它显示 False 而不是 0?

提前致谢!!

0 投票
2 回答
1100 浏览

c# - Xamarin 服务和表单初始化

我正在编写一个由服务和配置页面组成的 Xamarin Android 应用程序。该服务在设备启动后启动(由BroadcastReceiver启动)并且需要数据库连接来读取配置。当服务尝试读取数据库时,我收到一个错误:

您必须调用 Xamarin.Forms.Init(); 在使用它之前。

对于数据库连接,我使用的是SQLite.Net。我知道我需要调用Xamarin.Forms.Init()来使用数据库,但我不知道该怎么做。Init() 方法需要上下文和Android.OS.Bundle作为输入,但在 BroadcastReceiver 类中,我只有上下文。如何检索捆绑包?还有另一种方法吗?

这是异常堆栈跟踪:

0 投票
1 回答
96 浏览

xamarin - SQLite 命令?

我正在尝试使用 xamarin 制作登录页面

在 SQLiteCommand 部分,它给出了一个错误。错误是 CS1729 不包含带有 1 个参数的构造函数,我在互联网上检查了但我没有得到它我是新手。

0 投票
1 回答
541 浏览

xamarin.forms - Packacge Sqlite.net.platform.xamarinAndroidN 3.1.1 不兼容 monoandroid9(MonoAndroid, version=v9.0)

运行我的项目时出现此错误::: NU1202 Package SQLite.Net.Platform.XamarinAndroidN 3.1.1 is not compatible with monoandroid90 (MonoAndroid,Version=v9.0)。包 SQLite.Net.Platform.XamarinAndroidN 3.1.1 支持:net (.NETFramework,Version=v0.0)

在此处输入图像描述

0 投票
0 回答
51 浏览

c# - 有没有办法使用表达式从 SQLite.net 查询的模型中获取数据?

我正在将作为模型接收的大量数据保存到 SQLite.net 数据库中的各种表中。我目前对每种数据库类型有 15 种方法,它们都采用相同的格式。我正在尝试使用反射编写一个方法,该方法允许我传入表达式,这些表达式从模型和数据库对象(dbo)中检索数据,它编译得很好,但模型数据无法编译为 SQL。

我收到的异常是“无法编译:参数”。

我已经尝试过此代码的各种格式,包括表达式和 Func 设置的组合,将模型与 SQLite 查询分开,并在其自己的表达式中获取之前的 ID,但是我相信无论如何,一切都在编译在一起。

这是为每种模型类型调用的 15 种方法中的一种的示例。我想用一种可以为我保存所有类型的方法替换它

这是尝试 1 使用反射和表达式将所有 15 种方法替换为共享方法

这是尝试 2

如上所述,我的目标是创建一种方法,可以用来替换 15 种几乎相同的方法来保存每种类型的 DBO。我不热衷于使用字符串格式的 SQL,因为这对于未来的开发人员来说很难阅读并且容易出错。

还有另一种我不知道的方法吗?