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

c# - 查询 bool 列总是返回 false

我在我的项目中使用 SQLite 并连接到我使用 sqlite-net 库的数据库。我创建了一个模型:

数据库中有一些记录 - 有些将 IsDefault 列值设置为 true,有些设置为 false。但是,当我尝试像这样查询记录时:

每条记录都将 IsDefault 设置为 false。插入记录可以正常工作,但查询却不行。

当我将列类型更改为 bool 时?在模型中,它返回 null。

编辑----奇怪的是当我执行查询时

它返回正确数量的记录,但即便如此,数组的每个项目都将 IsDefault 设置为 false。

0 投票
3 回答
1575 浏览

sql - 带有包含多指令的参数的 sqlite-net 查询

我有一张包含大量信息的表格,现在我希望用户可以搜索该表格。

这是有效的,也是我想要得到的解决方案。问题是,当 searchString 类似于 时D'我得到一个异常。

我在这里发现sqlite-net like statement crashs是解决问题的好方法。

我的问题是,我现在找到的唯一解决方案是:

等等......

但这不是我想要的解决方案。

有人有想法吗?

0 投票
1 回答
7706 浏览

c# - C# SQLite-net 定义多列唯一

我已经看到对支持多列唯一约束的 SQLite-net 更改的引用。我知道它可以直接用 sqlite 完成,但是我更喜欢使用 sqlite-net 做事的方法。做多列唯一的语法是什么。Single 是希望唯一的列上方的 [Unique]。

0 投票
1 回答
2222 浏览

c# - 删除 Windows 应用商店应用中的文件

如何在 Windows 商店应用程序中删除由 Sqlite-net 创建的数据库文件。我试过这个

但既没有得到任何异常,也没有文件被删除。我在这里想念什么?

0 投票
2 回答
1239 浏览

sqlite - Windows Store 应用程序将 SQLite 文件放在 LocalState 文件夹中

我正在使用 sql-net 和 mvvmcross 构建一个 Windows 8 应用程序,以便对 sqlite 数据库进行数据访问。这适用于任何 Win-8 或 Win-Phone 应用程序。

我需要在应用启动时安装现有的 sqlite 文件。

使用连接时,您使用这样的语法

该连接在以下位置创建一个文件:C:\Users\USER\AppData\Local\Packages\793fd702-171e-474f-ab3b-d9067c58709b_ka9b83fa3fse2\LocalState

我的应用程序使用我创建的现有 sqlite 数据库文件。安装应用程序时,我需要将它放在此文件夹中。我该怎么做呢?

谢谢,JH

0 投票
2 回答
1270 浏览

c# - Sqlite-net guid 选择返回空 guid

我正在开发一个使用 sqlite 作为数据库的 Windows 应用商店应用程序。我将 SQLite 用于 Windows 运行时和 sqlite-net。尝试从表中获取 Guid 列表,但仅在列表中获取空 guid ({00000000-0000-0000-0000-000000000000})。但是,当仅查询一个 guid 时,它可以正常工作。

我的代码如下:

我也尝试了以下格式的查询,但它都不起作用:

但是,如果我使用以下查询,仅获取一个仅用于调试目的的 guid,则效果很好:

在不工作的情况下,列表的计数与表的行计数匹配。有谁知道为什么这不适用于列表版本?

0 投票
1 回答
993 浏览

c# - 无法删除 Windows 应用商店应用程序中的文件 - 访问被拒绝。(HRESULT: 0x80070005 (E_ACCESSDENIED))

我正在编写一个 Windows 应用商店应用程序。在某些情况下(测试、新用户等)我必须重新创建数据库 - 正在使用 Sqlite。我需要将现有数据库复制到备份,删除现有数据库,然后使用架构创建一个新的数据库文件。

编码:

如果我按顺序调用两次 CreateDatabaseAsync() 方法,将在第一次调用期间创建 db 文件,在第二次调用期间删除它时将抛出 UnauthorizedAccessException - 请参阅注释。我不知道什么可以保持这个文件打开。看到我对 SQliteAsyncConnetion 的引用无效并强制收集所有代。尽管如此,我仍然无法删除文件 - {“访问被拒绝。(HRESULT 异常:0x80070005(E_ACCESSDENIED))”}。

正在 ApplicationData.Current.LocalFolder.Path 中创建文件。

目前我正在尝试在每个集成测试期间重新创建数据库。

0 投票
1 回答
3505 浏览

sqlite - 在 WinRT 应用程序中使用 SQLite 时出现异常

我正在构建一个 Windows 8 应用程序,现在我想为这个应用程序使用 SQLite。我SQLite for Windows Runtime通过 Visual Studio 2013 扩展管理器安装,并sqlite-net通过 NuGet 添加到我的项目中。

我正在尝试在我的 app.xaml.cs 中创建一个数据库OnLaunched,但是当我运行该项目时出现此异常:

无法加载 DLL 'sqlite3':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

这很奇怪,因为编译时没有错误。无论如何,我认为它试图告诉我我需要引用一个额外的 DLL: sqlite3.dll,但这不起作用。我的文件系统上有 6 个不同的 DLL:ARM、x64 和 x86 的调试和发布版本。我尝试将 x86 发布版本添加到我的项目中,但这会导致此异常:

无法添加对“C:\Users\Leon\Documents\Visual Studio 2013\Projects\Googalytics\packages\SQLite\x86\sqlite3.dll”的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。

非常遗憾的是 sqlite-net 的文档很烂,它非常过时(示例甚至不再起作用),它非常不完整,也没有提到手动添加 DLL。所以我有两个问题:

  1. 我该如何解决这个特定问题?
  2. 我在哪里可以找到 sqlite-net 的最新文档?

编辑:我用来创建数据库的代码是:

我从这里调用该方法:

edit2:有关我的设置的更多信息:

  • 视觉工作室 2013 RC
  • 视窗 8.1 RTM
  • 适用于 Windows 运行时 3.8.0.2 的 SQLite
  • sqlite-net 1.0.7
0 投票
2 回答
696 浏览

linq - SQLite for Windows 商店应用程序中的 LINQ 没有按多列排序的“ThenBy”

我有一个 Windows 8 商店应用程序,我正在为我的数据库使用 SQLite 上的最新版本。

所以我想从数据库中返回一些记录,我想按一列对它们进行排序。但是 SQLite 似乎没有 ThenBy 语句?所以我的 LINQ 语句如下:

那么如何在不执行另一个 LINQ 语句的情况下按 SQLite 中的多个列进行排序呢?

0 投票
1 回答
1862 浏览

sqlite - 如何在 SQLite 中按月份和年份进行选择

在我的 SQlite 表中,它有 DateTime 字段示例:order_date

如何执行这些任务:

  1. 按月份检索记录,如 2013 年的一月、二月、三月等。
  2. 使用上述条件按开始日期和结束日期检索记录(1)

谢谢