问题标签 [sqlite.swift]

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 投票
2 回答
5177 浏览

ios - 添加 Xcode 子项目:不应该复制所有源文件吗?

我手动将SQLite.swift子项目添加到我的项目中。如指示所示,我将 .xcodeproj 文件复制到我的项目中。这使我可以查看所有源文件(与此 SO question不同)。

在此处输入图像描述

一切似乎都运行良好。但是,我发现该子项目的源文件没有复制到我的项目中。它们仍在我下载它们的原始位置。这是设计使然吗?如果我以后想与其他人分享我的项目源代码怎么办?他们将没有我的项目工作所需的子项目源。

如果我确实需要将子项目源复制到我的项目中,那么我该怎么做呢?

0 投票
1 回答
3882 浏览

ios - 如何使用 Sqlite.swift 获取列名列表?

出于调试目的,我试图在我的 SQLite 表中获取一个简单的列名列表。我正在使用SQLite.swift 框架

我的问题比如何在 sqlite3 / iPhone 上获取列名列表更具体?所以我正在创建一个新问题。

使用

通过将此答案应用于文档对我不起作用(没有发生任何事情)。

0 投票
2 回答
12169 浏览

ios - 如何使用 SQLite.swift 更新或插入

如果该行已经存在,我想更新该行的列,但如果它还不存在,那么我想插入一个新行。

相关问题

这种类型的问题在一般 SQL 中很流行

尤其是 SQLite

寻找 SQLite.swift 实现

我试图通过使用SQLite.swift包装器进行 iOS 开发来节省开发时间。我选择了这个框架,因为它在 raywenderlich.com 上被推荐。我认为有一个更新或插入的语法示例会很有用。

战略

这个答案中,Sam Saffron 说:

如果您通常进行更新,我会..

  1. 开始交易
  2. 进行更新
  3. 检查行数
  4. 如果为 0 则插入
  5. 犯罪

如果您通常进行插入,我会

  1. 开始交易
  2. 尝试插入
  3. 检查主键违规错误
  4. 如果我们遇到错误,请进行更新
  5. 犯罪

这样你就可以避免选择,并且你在 Sqlite 上的事务是健全的。

这对我来说很有意义,因此在下面的回答中,我提供了一个“通常进行更新”的示例。

0 投票
1 回答
2656 浏览

database - 使用 sqlite.swift 在数据库中搜索特定行

我读取了数据库中的特定行。我使用了过滤器查询,但我得到的只是以下内容:

这是我的查询:

我的错误在哪里?

0 投票
1 回答
2249 浏览

sql - 不需要在具有 UNIQUE 约束的列上创建索引,对吗?

我有一个三列的表。

SQLite.swift我创建这样的表

我相信 SQLite 语法会是

我正准备在“word”列上添加一个索引以提高性能,因为我将不得不对其进行频繁的查询。但后来我在TutorialsPoint 的 Indexes 教程中阅读了以下有趣的陈述:

隐式索引:

隐式索引是在创建对象时由数据库服务器自动创建的索引。为主键约束和唯一约束自动创建索引。

因此,由于我已经为“word”列添加了唯一约束,因此无需执行任何其他操作。那是对的吗?我试图在SQLite 文档中确认这一点,但我找不到。

0 投票
1 回答
1007 浏览

ios - 使用 SQLite.swift 查询更正变量绑定并避免 SQL 注入

过滤查询的SQLite.swift 文档给出了这个例子:

由于我想根据用户输入搜索数据库,我想我可以执行以下操作:

我会以正确的方式解决这个问题吗?在过去的其他 SQLite 环境中,我使用变量绑定?避免SQL 注入。这是使用 SQLite.swift 在幕后完成的吗?除了Executing Arbitrary SQL部分中的一些关于绑定的信息外,我没有在文档中看到任何信息。

0 投票
1 回答
610 浏览

ios - 在 SQLite.swift 中创建数据库后插入初始数据

我有一个 SQLite 数据库,我想用一些初始数据填充它。

使用SQLite.swift,此方法似乎有效:

不过,这种工作方式是我ifNotExists: false每次在初始数据库创建后都会抛出错误。(将其设置为true不会抛出错误(或允许提前返回)。)但是,除了第一次之外,每次都故意抛出错误似乎是糟糕的编程。我并不是真的认为这是一个错误。我只想在新创建的数据库中插入一些数据。有没有更好的方法来做到这一点,还是每个人都这样做?

0 投票
1 回答
394 浏览

sqlite - 事务结束后触发一个动作

我正在使用 Stephen Celis iOS lib 来处理 SQLite3 数据库,这里是 github 链接

以 git 为例:

我试图实现 commitHook 块,但每次插入都会触发它。我只想在发送所有请求时触发一个动作:-D

我应该怎么办 ?

干杯

编辑:这是我实现提交挂钩的方式。

也许它与我的主循环有关:/

0 投票
0 回答
1051 浏览

swift - Sqlite.Swift:如何过滤空列?

在我之前的问题中: How to create a filter that does the SQL equivalent of WHERE ... IN for SQLite.Swift

我问如何快速执行 WHERE...IN。

现在,如何过滤可选表达式?

我有一个版本化的数据库,允许我在创建表后向表中添加列。为了实现这一点,我创建了专栏

然后打电话

所有这些都有效,表确实有该列,我可以将数据添加到该列等。

通常当我需要在其他列中过滤时,我会

当我需要在哪里做的时候,

现在我想用一个数组过滤 timeTag 列,该数组timeTagArray是要查找的想要的 timeTags 数组。我试过了

和表格示例:

如果是,timeTagArray = ["Morning", "Midnight"]那么我应该取回第 1、3、5 行。

但它给了我说的错误 Cannot assign value of type 'Expression<Bool?>' (aka 'Expression<Optional<Bool>>') to type 'Expression<Bool>'

0 投票
0 回答
83 浏览

swift - SQlite Swift 意外结果组

我正在使用 Swift SQLite。我想检索组中的“航班”切换他们的“出发日期”

当我打印飞行组时,我发现只有 2 个航班而不是 2 个航班数组