问题标签 [fmdb]

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 回答
266 浏览

iphone - 我的 SQL 查询运行缓慢需要优化

我的 iPhone 应用程序的以下查询有问题。当应用程序运行查询时,需要相当长的时间来处理结果,可能大约一秒钟左右......我想知道查询是否可以优化?我正在使用 FMDB 框架来处理我的所有 SQL。

我对表格的陈述如下:

0 投票
1 回答
1326 浏览

objective-c - FMDB 从数据库中读取 iPhone 应用程序

我正在使用以下代码从客户表中读取记录。由于某种原因,返回的结果集始终为空。

我已多次检查数据库并显示数据,但由于某种原因 FMDB 无法检索它!

0 投票
1 回答
562 浏览

objective-c - FMDB - 无法从 Cocoa 修改数据库

我正在开发一个使用 FMDB 与本地 SQLite 数据库对话的 Cocoa 应用程序。我遇到了一个问题,我无法在 DB 上执行任何插入或更新操作。选择查询运行得很好,所以我假设我的数据库连接设置是正确的。

我的代码结构基本上是这样的:

执行过程中没有抛出异常或警告,关于 db.traceExecution 的控制台输出如下:

测试数据库只是一个 INT 类型的单列表。

一切看起来都很好,只是 db 文件根本没有更新。这让我很困惑,因为 Select 查询工作得非常好。我检查了数据库的路径,它指向正确的路径。首先我怀疑它是由文件权限引起的,但即使我允许每个人都能够读/写,问题仍然存在。

我被这个问题困扰了好几个小时,找不到合适的解决方案。任何人都可以对此有所了解吗?谢谢!

0 投票
3 回答
4061 浏览

ios - 多个查询未在 FMDB 中运行

我正在使用 FMDB 在 iPhone 上创建 SQLite 数据库。我有一个 initial.sql 的形式

我通过将文件加载到 NSString 并运行它来加载它

这成功了,但后来我失败了:

很明显,第二个语句没有被调用。我该怎么做才能调用所有查询?

根据 SQLite 文档:“例程 sqlite3_prepare_v2()、sqlite3_prepare()、sqlite3_prepare16()、sqlite3_prepare16_v2()、sqlite3_exec() 和 sqlite3_get_table() 接受一个 SQL 语句列表 (sql-stmt-list),它是一个分号-分隔的语句列表。”

所以,这一切都应该奏效。

0 投票
2 回答
435 浏览

iphone - iOS NSFileManager 复制但文件直到下一次加载才响应

我让我们的应用程序将它的只读数据库移动到应用程序支持目录,以便内容更新也可以更新它(通过有线更新,而不是应用程序更新)。下面的代码是在应用程序委托中复制数据库,但是在第一次运行 NSFileManager 时,在随后的尝试中(在运行期间)查看它是否存在或加载它看不到复制的文件。但是,它正在复制它,因为如果我关闭应用程序并重新启动它,一切正常。我输了。

“[DatabaseManager isBundledDBNewerThenInUse]”如果 App Support 目录中的 db 不存在或版本比捆绑包中的版本旧,则返回 YES。它会在 App Support 目录中打开数据库,从而在尝试删除它之前打开 [DatabaseManager close]。如果有帮助的话,我会在我的 DatabaseManager 中使用 FMDB。但正如我在初始加载后所说的,如果你杀死应用程序并重新进入它,它会完美运行。(在从捆绑包更新数据库时,数据库也不会在第一次加载时更新。)任何帮助都会很棒,如果您需要更多信息,请询问!谢谢!

0 投票
1 回答
1535 浏览

iphone - 如何备份/同步文档目录中的 sqlite 数据库?iCloud 是答案吗?

我在应用商店中有一个简单的阅读器应用程序,我正在尝试添加一些功能。现在,该应用程序的用户能够存储不同的书签、做笔记和突出显示内容的不同部分,这些都使用 FMDB 保存到文档目录中的本地 sqlite db。

一切都很好,除了每次删除应用程序时,都会出现本地数据库。因此,随着 iCloud 的出现,我想知道是否有一种理想的解决方案可以以某种方式备份我的数据库并在需要时恢复它?另外,如何在不同设备上的使用之间进行同步呢?

如果不是 iCloud,我还有哪些其他选项可以实现此功能?我在几个不同的应用程序中看到过它,我只是不知道他们是如何做到的。

谢谢!

感恩节快乐!

0 投票
6 回答
13233 浏览

ios - 通过 FMDB 将数组传递给 sqlite WHERE IN 子句?

是否可以通过 FMDB 将数组传递给 SELECT ... WHERE ... IN 语句?我试图像这样内爆数组:

这仅在数组中恰好有 1 个对象时才有效,这让我相信 FMDB 在整个内爆字符串周围添加了引号。

所以我尝试将数组按原样传递给 FMDB 的方法:

这根本不起作用。

我在 README 或 FMDB 的 github 页面上的示例中没有找到任何关于它的信息。

谢谢,斯特凡

0 投票
2 回答
856 浏览

ios - FMDB 和 datetime() 函数

我在日期和 FMDB 方面遇到了一些问题。我有一大堆包含日期时间值的记录,我想按日期/小时等进行分组。使用基本的 sqllite 查询工具,我确定了要使用的正确 sql 语法:

以上工作,返回的数据是正确的。但是,当我尝试使用 FMDB 包装器执行相同操作时,我的结果不会返回正确的结果。当我将它打印到控制台时,使用 datetime() 函数返回的任何字段都读取为 NULL。此外,查询也没有正确执行,因为只返回了 1 条记录,我知道这是不正确的,因为我可以使用返回正确结果的 sqllite 工具执行相同的查询。

谁能帮我弄清楚我需要做什么?我几周前才下载了 FMDB 库,所以应该有一个相对较新的版本。

0 投票
3 回答
381 浏览

iphone - 用于 iOS 聚合的 CoreData 或 SQLite

我有一个需要本地存储的 iPhone 应用程序。

我最初的想法是使用核心数据,这对于大多数应用程序来说都很好,但是主要部分是在数据上使用聚合。在 SQLite 中,这是 MIN、MAX、AVG、GROUP_BY 等的标准用法。

但是核心数据并没有很好地实现这些,因为它主要用于对象图管理。如果我从 CoreData 加载后在 Obj-C 中进行计算,还是应该坚持使用 SQLite 并放弃 CoreData 系统其他部分的用处?

用于聚合的集合并不大(最多 100 个对象)。我需要做分配之类的事情。

我知道这里没有具体的答案,只是想要一些第二种选择。谢谢

0 投票
2 回答
6645 浏览

objective-c - 将 FMResultSet 转换为 NSMutableArray?

我正在尝试 FMDB,如果我可以让我的 FMResultSet 变成 NSMutableArray,它看起来对我来说非常有用。

我将如何做到这一点?