问题标签 [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 回答
273 浏览

android - 如何在查询中连接表

我正在使用 Xamarin 的 sqlite.net 组件来开发数据库应用程序。我能够使用 ORM 紧密耦合模型对单个表进行数据库操作。

例如。如果我在 DB 中有 XYZ 模型和 XYZ 表,我可以触发查询并能够从表中获取 XYZ 对象列表。这里使用的数据结构是 XYZ 用于 ExecuteQuery 操作。

但是,如果我需要使用连接查询对多个表进行选择操作,那么我可以使用什么数据结构,因为它应该是两个表/模型的组合类型,而且查询中不涉及单个表。c#中有什么像android中的游标吗?

注意:我在 System.Data.Sqlite 命名空间中找到了 SqlDataReader。但它不在 SQLite.cs 库中。

任何帮助表示赞赏

谢谢。

0 投票
2 回答
907 浏览

sqlite - 当我尝试从 Windows Phone 8 获取 SQLite 连接时出现 TypeLoadException

我目前正在使用 Xamarin.Forms 开发 Windows Phone 应用程序。为此,我需要使用 SQLite 数据库才能拥有 Android 和 iOS 的跨平台应用程序。

所以我按照以下文档中描述的步骤进行操作:Working with a local database using SQLite.Net with Xamarin.Forms

问题是当我尝试使用以下代码在 Windows Phone 8 上获得 SQLite 连接时出现错误:

调用此方法会引发带有以下消息的 TypeLoadException:

我不知道为什么会出现这样的错误。如果您有任何想法,那就太好了!

提前感谢任何可以帮助我的人

0 投票
2 回答
1930 浏览

encryption - 共享项目 Xamarin 中的跨平台数据库加密

我正在使用 Xamarin 开发 iOS 和 Android 应用程序。我创建了一个对两个平台都通用的共享项目。当我使用数据库时,它很常见并放入共享项目中。我需要加密数据库文件。

项目结构就像Tasky

按照 Xamarin 的建议,我已经从这个 GitHub链接替换了 SQLite.cs 文件。

没有 SQL 密码组件可以用作付费组件。

注意:其他方式是通过 C# 的 AES 加密 DB 文件。

但是,我需要一个好的方法。

欢迎任何建议。

0 投票
2 回答
430 浏览

c# - 如何使用 linq 返回 TableOjb1 和 TableObj2 的 Wrapper obj

我的问题是如何在加入两个表时返回 MergeObj 列表。我试过:

但是 QueryJoin() 给出了异常:System.NotSupportedException,不支持连接。

请注意我使用的是 sqlite.net 而不是 ADO.net。

0 投票
3 回答
3315 浏览

android - 使用适用于 Xamarin android 的 Sqlite.net Pcl 升级数据库

我有一个问题,当我发布我的应用程序的新版本时,如果我向我的一个数据库表添加一个新列,数据库不会更新。任何人都知道如何创建升级版本的脚本,以防有新列或新表?

谢谢

0 投票
1 回答
432 浏览

sqlite - 更新错误:“逻辑错误或缺少数据库”sqlitepcl

我无法在同一事务中获得两个更新。

第一个已执行,但第二个错误。

进行第二次更新时出现错误:“逻辑错误或缺少数据库”

下面的例子:

你能帮我吗?

0 投票
1 回答
385 浏览

c# - 是否可以将 SQLite.NET 与不可变记录类型一起使用?

标题说了算。(需要明确的是,SQLite.NET 托管在这里

所有示例都使用可变记录类型,这意味着它们{ get; set; }在每个属性定义中都有。我想在我的项目中尽可能摆脱可变类型,但 SQLite.NET 看起来像是一个可能的障碍。

例如,如果我尝试获取 1 列类型的查询结果System.String,它会失败。那么是否可以让 SQLite.NET 使用构造函数而不是属性设置器,或者我必须使用可变类型在 SQLite.NET 中检索和存储数据?

0 投票
2 回答
4063 浏览

c# - SQLite.NET 检查表中是否存在列

我创建了以下在现有 SQLite 表中添加列的方法

它在 MyTable 中创建一个新列 MyNewColumn。

下次调用 AddColumnMyNewColumn 方法时,它会引发错误。

如何检查此列是否已创建?

我已经检查了这个这个,但是我不能把这些东西放在一起得到这样的东西..

0 投票
1 回答
1820 浏览

c# - SQLite.Net,C# 等效于 SQLite 位数据类型

我在 c# 中声明了以下类

我调用此方法在我的 SQLite 数据库中创建等效表

所以它在 SQLite 中创建一个表,如下所示

我想创建一个列,这有点

为此,我尝试了

这两个属性都会产生一个整数列

那么我应该如何声明我的 IsActive 属性以获取以位为数据类型的列。

我还有一个问题,如果我声明属性并将其指定为非空

然后,当我调用 CreateTable() 说“没有为 Not Null 属性指定默认值”时,它给了我一个错误。

我试图在构造函数中初始化这个属性,但是没有用。

我该如何处理这些问题?请帮忙

0 投票
0 回答
549 浏览

xamarin.forms - 访问 ROWID 以避免 SQLite.Net 中的自动增量?

在使用 的Xamarin.Forms应用程序中SQLite.Net,以下代码有效:

但是,当我删除该AutoIncrement属性时,第二次database.Insert我得到一个约束类型的 SQLiteException(即使在重置模拟器之后)。

但是,https: //www.sqlite.org/autoinc.html 上的 SQLite 文档强调,出于性能原因,AutoIncrement应尽可能避免使用。文档建议AutoIncrement可以避免使用rowId. 有没有办法rowID在 SQLite.Net 中访问?

******** 编辑:******** 异常的文本是:

我的插入代码如下:

这会在AutoIncrement没有AutoIncrement.

注意:似乎索引从 1 开始,AutoIncrement从 0 开始,没有它。这在我的 Upsert 代码中暴露了一个错误,它在没有 时测试 arowId为 0,AutoIncrement但该错误与此问题无关。