问题标签 [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.
android - 如何在查询中连接表
我正在使用 Xamarin 的 sqlite.net 组件来开发数据库应用程序。我能够使用 ORM 紧密耦合模型对单个表进行数据库操作。
例如。如果我在 DB 中有 XYZ 模型和 XYZ 表,我可以触发查询并能够从表中获取 XYZ 对象列表。这里使用的数据结构是 XYZ 用于 ExecuteQuery 操作。
但是,如果我需要使用连接查询对多个表进行选择操作,那么我可以使用什么数据结构,因为它应该是两个表/模型的组合类型,而且查询中不涉及单个表。c#中有什么像android中的游标吗?
注意:我在 System.Data.Sqlite 命名空间中找到了 SqlDataReader。但它不在 SQLite.cs 库中。
任何帮助表示赞赏
谢谢。
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:
我不知道为什么会出现这样的错误。如果您有任何想法,那就太好了!
提前感谢任何可以帮助我的人
encryption - 共享项目 Xamarin 中的跨平台数据库加密
我正在使用 Xamarin 开发 iOS 和 Android 应用程序。我创建了一个对两个平台都通用的共享项目。当我使用数据库时,它很常见并放入共享项目中。我需要加密数据库文件。
项目结构就像Tasky。
按照 Xamarin 的建议,我已经从这个 GitHub链接替换了 SQLite.cs 文件。
没有 SQL 密码组件可以用作付费组件。
注意:其他方式是通过 C# 的 AES 加密 DB 文件。
但是,我需要一个好的方法。
欢迎任何建议。
c# - 如何使用 linq 返回 TableOjb1 和 TableObj2 的 Wrapper obj
我的问题是如何在加入两个表时返回 MergeObj 列表。我试过:
但是 QueryJoin() 给出了异常:System.NotSupportedException,不支持连接。
请注意我使用的是 sqlite.net 而不是 ADO.net。
android - 使用适用于 Xamarin android 的 Sqlite.net Pcl 升级数据库
我有一个问题,当我发布我的应用程序的新版本时,如果我向我的一个数据库表添加一个新列,数据库不会更新。任何人都知道如何创建升级版本的脚本,以防有新列或新表?
谢谢
sqlite - 更新错误:“逻辑错误或缺少数据库”sqlitepcl
我无法在同一事务中获得两个更新。
第一个已执行,但第二个错误。
进行第二次更新时出现错误:“逻辑错误或缺少数据库”
下面的例子:
你能帮我吗?
c# - 是否可以将 SQLite.NET 与不可变记录类型一起使用?
标题说了算。(需要明确的是,SQLite.NET 托管在这里)
所有示例都使用可变记录类型,这意味着它们{ get; set; }
在每个属性定义中都有。我想在我的项目中尽可能摆脱可变类型,但 SQLite.NET 看起来像是一个可能的障碍。
例如,如果我尝试获取 1 列类型的查询结果System.String
,它会失败。那么是否可以让 SQLite.NET 使用构造函数而不是属性设置器,或者我必须使用可变类型在 SQLite.NET 中检索和存储数据?
c# - SQLite.Net,C# 等效于 SQLite 位数据类型
我在 c# 中声明了以下类
我调用此方法在我的 SQLite 数据库中创建等效表
所以它在 SQLite 中创建一个表,如下所示
我想创建一个列,这有点
为此,我尝试了
和
这两个属性都会产生一个整数列
那么我应该如何声明我的 IsActive 属性以获取以位为数据类型的列。
我还有一个问题,如果我声明属性并将其指定为非空
然后,当我调用 CreateTable() 说“没有为 Not Null 属性指定默认值”时,它给了我一个错误。
我试图在构造函数中初始化这个属性,但是没有用。
我该如何处理这些问题?请帮忙
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
但该错误与此问题无关。