问题标签 [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 投票
1 回答
1438 浏览

ios - 如何从 swift xcode 中的 sqlite 数据库文件( citylist.db )中检索 Tableview 或 Textfield(自动完成)中的数据

从过去 2 天开始,我在互联网上搜索 swift 和 sqlite 之间的链接,但我无法获取它的代码和数据库连接,因为我想将 citylist.db 文件中的数据检索到自动完成的文本字段中迅速。

如果有人知道代码或就他们最欢迎的主题提出任何建议,请各位大神..!!

我通过此链接https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md 的另一件事,但停留在 sqlcipher 部分,现在我不知道该怎么办?

0 投票
1 回答
819 浏览

sqlite - 找不到接受类型为“([Int],表达式)的参数列表的“包含”的重载)'

我使用SQLite.swift

我试过表达:

从例子。但我收到以下错误:

我怎样才能使这项工作?

0 投票
1 回答
200 浏览

objective-c - 在 SQLite 语句中使用 NSArray

我使用SQLite.swift并想替换语句中的问号。这可以为这样的单个条目完成:

我没有看到如何执行以下操作来使用如下数组:

在如下声明中:

以下不起作用:

如何使用 NSArray 作为语句的参数?

0 投票
1 回答
4219 浏览

xcode - SQLite.swift 构建错误“模块文件的最小部署目标是 ios8.3 v8.3”

我已将 OS X 从 10.9 升级到 10.10,以便能够使用 Xcode 6.3 - 当前版本为 6.3 (6D570)。

当我使用 Xcode 6.2 创建项目时,我按照文档中的描述成功导入了 SQLite.swift,并且一切正常。

升级到 Xcode 6.3 后,项目无法构建 - 我总是收到错误:

Module file's minimum deployment target is ios8.3 v8.3: /Users/d...

我已尝试按照此答案中的说明设置不同的部署目标,但没有任何帮助:(

有人可以帮忙吗?提前致谢

0 投票
1 回答
2908 浏览

ios - SQLite.swift:实现表示给定表行的模型类的最佳方法?

这是我(到目前为止)唯一一个不需要太多/任何解释的问题。

我已经解决了这个问题:

  • 每个类都可能有initialiseTable()一种类似的函数,在初始化 DB 模式时会被调用?
  • 列的每个类中的静态常量Expression<T>

我想我最关心的部分是用Query结果填充模型类的实例。

与往常一样,提前感谢您的帮助:)

链接到很棒的SQLite.swift给那些还没有遇到过的人。


更新(22/4/15 14:13):

在考虑之后,我不确定是否将行数据存储在 iVars 中,因为它可能会变得很棘手,以保存锻炼和更新后勤并使事情变得过于复杂。

但是,我仍然认为使用模型类来表示行是一个好主意。我认为让模型类表示表行的主要好处是安全性。例如,知道 aQuery有 column name : Expression<String>。如果您开始Query在类之间传递实例,这是很棒的

就像我说的那样,我不确定是否真的想开始创建一个类,它的每一列都有 iVar 来表示行。如果你这样做了,你就可以开始进入 ORM 领域,我觉得这会带走 SQLite.swift 的简单之美。通过为每列保留 iVar,我能想到的唯一好处是,您可以调用refresh()一个实例,该实例将从数据库中检索最新数据,然后指向该实例的所有其他对象将拥有最新数据,而无需自己打数据库。

也许只是有一个子类 Query 并有一个构造函数,它接受一个数据库并使用正确的表名进行初始化?也许这可能会以某种方式为行列提供吸气剂。

我只是在这里大声思考,试图提供一些思考。这些想法相当不成熟和年轻,只是在我脑海中思考你可以采取的每种方法的局限性和好处。当我完善这些想法时,会回来并添加/更改更多内容。


更新(24/4/15 09:45):

也许模型类应该只是数据库表的代理?每个类都有一个用于立即写入数据库的每个字段的设置器,这样状态就不会发生冲突,因为它总是反映数据库中的内容。但是,您将无法如此轻松地管理访问数据库的频率?但。你真的经常改变价值观吗?

0 投票
2 回答
3974 浏览

sqlite.swift - 如何在添加之前检查列是否存在

我有一个数据库,如果它不存在,我想向它添加一列。如何使用 sqlite.swift API 做到这一点?

0 投票
1 回答
804 浏览

sqlite - 无法使用类型的参数列表调用“插入”

将记录插入表的代码在最新更新之前工作正常,但现在抛出此错误,所以我想知道我做错了什么。

记录插入的示例代码:

数据库设置示例:

我正在使用斯蒂芬斯的 SQLite.swift 项目。https://github.com/stephencelis/SQLite.swift

0 投票
1 回答
2380 浏览

sqlite - 如何执行复杂的 sql 语句并在数组中获取结果?

我想使用SQLite.swift执行一个相当复杂的 SQL 语句,并最好将结果放在一个数组中,以用作 tableview 的数据源。该声明如下所示:

我正在研究 SQLite.swift 文档以找出如何正确执行此操作,但我找不到方法。我可以在数据库上调用 prepare 并遍历 Statement 对象,但这不是最佳性能。

任何帮助,将不胜感激。

0 投票
0 回答
324 浏览

ios - SQLite.swift 加入缺少的信息

我正在尝试使用该SQLite.swift库快速加入一些表格,但遇到了一些问题。下面的代码显示了这个问题:

我首先加入表格:

在这一点上,我已经加入了表格和来自的所有字段taskstask types并且preUsers都正确存在。

在我运行第二个 join 语句之后:

同样,在运行此语句后,我可以访问、和表中的所有字段equipment,直到这里一切都按预期工作......equipment_typefacilitieseqowners

但是,然后我尝试使用以下方法加入上述两个结果:

这是我遇到问题的地方,似乎来自ext_tasks查询的表在那里,但只有equipment来自查询的表ext_equipment可用。

此外,当我尝试访问该"facilities"."facility_name"字段时,我收到以下消息,指出该字段不存在:

致命错误:列中没有这样的列 '"Facility"."Facility_Name"':

[“设备”。“设备类型_ID”,“设备”。“设备_ID”,“设备”。“设备_所有者_ID”,“设备”。“设施_ID”,“设备”。“状态”,“预用户”。“客户ID”,“ PreUsers”。“Date_LastLogin”,“PreUsers”。“First_Name”,“TaskTypes”。“TaskType_ID”,“TaskTypes”。“Type”,“Tasks”。“Equipment_ID”,“Tasks”。“Owner_ID”,“Tasks” ."Priority", "Tasks"."Time_Complete", "Tasks"."Time_Start"]:

(我删除了其中的一些列以缩短答案,总共显示了 53 个字段)但是您可以看到只显示第一个连接中的表 + 设备表,第二个查询(equipment_type, facilities and eqowners)中的连接无处被看见

如果有人能让我知道为什么会这样,我将不胜感激,这已经让我的大脑死了好几个小时,我就是想不通......

提前致谢!

0 投票
1 回答
532 浏览

swift - 错误:表达式不能转换为字符串

我的代码是:

但是我在转换时遇到错误:

Expression<String?> is not convertible to String

我怎样才能返回一个字符串?

谢谢豪克