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

iphone - FMDB 查询不适用于 LIKE

我正在使用 FMDB,它是 SQLite 的包装器。http://github.com/ccgus/fmdb

这是我的查询行:

使用它,如果我输入运动员的确切姓名,我可以得到一个结果。但是,我正在尝试使用 LIKE 来搜索名称。但是,当我添加 %?% 而不是 ? ...没有任何回报。并且没有错误。

有没有人遇到过这个并且知道我做错了什么?

谢谢大家!

0 投票
2 回答
1314 浏览

sqlite - Query using FMDB not returning result

I am trying to get the next highest PK in an SQLite database that was not originally set up with auto increment and already has hundreds of records. So I made the below method which seems like it should work, but I am not able to get any results from this. I have several other methods that get data from the database that work and can't figure out what I'm doing wrong and I'm going cross-eyed so thought I'd ask for some help.

The log shows:

2012-01-25 22:56:29.398 Quotes[6992:f803] PRINT FIRST SUBJECT_ID = (null) (gdb)

The header looks like this:

0 投票
1 回答
1616 浏览

database - 为什么将整数插入 SQLite 会爆炸?

我使用 FMDB executeUpdate 在下面的插入语句中获得了 EXC_BAD_ACCESS。它发生在 FMDatabase 中的 bindObject toColumn 上。

在 NSlog 语句中,我得到了正确的值,但更新语句被炸毁了。不知道我在这里做错了什么。

我浏览了 FMDatabase 代码,它看起来像第一个变量,subject_id 是爆炸的那个。我尝试同时保存为 NSInteger 和 NSNumber 并且都给出了同样的崩溃。

FMDatabase 中崩溃的确切行是:

并且它将 subject_id 作为 NSInteger(或 NSNumber)传递并给出错误。

0 投票
2 回答
932 浏览

objective-c - FMDB 和 LIKE 子句

我无法让 iOS 的 FMDB 包装器使用参数和 LIKE 子句。事实上,我很难让 LIKE 子句在带有 FMDB 的 SQLite 上工作。

我尝试使用 `Name LIKE '%dam%' 来匹配“Adam”,并且尝试将其指定为如下参数,但没有一个有效。

表中肯定有符合条件的项目,我只是不明白为什么 FMDB 没有返回它们。

0 投票
2 回答
1851 浏览

objective-c - 使用 FMDB 保存到数据库在解释 NSInteger 时崩溃

当调用下面的函数时,我得到 EXC_BAD_ACCESS 崩溃。看起来 FMDB 在解释 subject_id NSInteger 时遇到了问题,因为它在 WHERE 子句中遇到了这个 subject_id 列时,它通过了两个 NStrings 和炸弹。

这个问题与我在另一篇关于 FMDB 插入问题的帖子中遇到的问题相同,这归结为我的 subject_id 成员有问题。我相信我在标题中使用了错误的声明。这里是:

(注意:当我弄清楚其余部分时,我主要编辑了这个。)

0 投票
2 回答
1438 浏览

iphone - 使用 sqlite 和 fmdb 包装器的 iphone 数据库 - 缓慢的 UI

我使用 sqlite 和 fmdb 包装器为 iphone 创建了一个数据库。

数据库中大约有 3500 行。它有 14 列:1 列用于 id,1 列用于名称/主要搜索词,9 列用于替代搜索词,3 列用于简短描述。

我的应用程序的第一个视图只是一个显示搜索栏的介绍性屏幕,有点像 google。实现搜索栏后,它将带您进入另一个视图,其中包含一个包含所需结果的表格。视图之间的初始转换有 1 或 2 秒的延迟。此外,表格不允许无缝滚动。最后,当您选择一个表格单元格时,它会将您无缝地带到最终视图,但是当您尝试返回表格视图时,还有 1 或 2 秒的延迟。

我用一个较小的数据库运行这个应用程序,该数据库有 3500 行但只有 5 列。在这种情况下,从数据库中删除了 9 个备选搜索词。当我在 iphone 上运行这样的应用程序时,它是相当有效的......有一个小的延迟,但它真的不明显......我可能不会因为滞后而受到影响,(我只会有假设小的延迟是正常的),如果我使用的更大的数据库不是那么明显的话。

我得出的结论是 sqlite 数据库需要一些调整,因此,我有两个主要问题。

  1. 我已经读过更改 sqlite db 的编译指示设置(例如:同步、日志模式、缓存大小)将提高效率。当我通过 mozilla 插件更改这些设置时,它们似乎没有保存...我将打开和关闭插件,设置将恢复为旧的默认值。我看到你可以通过 xcode 设置这些...我想知道 FMDB 包装器在哪里设置这些设置?
  2. 我听说索引可以大大提高速度。我真的不知道要索引什么,如果我索引某些东西,我是否必须更改 FMDB 包装器的编码?此外,在理想情况下我应该索引什么我想使用我的数据库中的所有数据(尽管我将使用与其他列不同的某些列)?

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"CustomCell";

0 投票
1 回答
1003 浏览

objective-c - 带字符的 FMDB 查询

我目前正在尝试对单词数据库执行查询。数据库的组织方式使我可以通过单词的第一个字母和单词的长度来访问。但是,当我使用字母和长度进行搜索时遇到了问题:

不幸的是,查询没有返回任何值。我已经尝试使用 char 作为输入、字符串和 int。

我很困惑,因为我可以使用 ruby​​ 执行相同的查询:

并得到 453 个结果....

sqlite 表具有以下列:

关于我可能遗漏的任何想法?

非常感谢!

0 投票
1 回答
1063 浏览

objective-c - 正确使用 FMDB / 内存

我无法在类似问题中找到解决我的问题的方法。我正在使用 fmdb 包装器从 sqlite 数据库中提取一大堆数据。我的 fmdb 实用程序类中有一个类似于以下的方法:

它将我的信息存储在一系列字典中。在我的视图控制器中,我像这样调用我的方法:

现在,每次我调用这个方法来用新的联系人更新我的数组时,我都会有一个一致的泄漏,正如我使用分配工具所观察到的那样。即使我在从数据库加载后立即释放 currentConnections 并且不再调用此方法时也会发生这种情况,因此我怀疑它与数据库实现有关。有没有其他人处理过这个问题?

0 投票
1 回答
6079 浏览

iphone - 有人可以解释如何使用 fmdb 的 FMDatabaseQueue 吗?

我看到 FMDatabaseQueue 是 fmdb 的新增功能,可帮助处理后台线程数据库调用。似乎这正是我所需要的,但我找不到任何解释如何制作和处理查询/更新请求的文档。

有没有人有这方面的经验?您可以发布一些示例代码或解释吗?

谢谢

分支:github.com/ccgus/fmdb/tree/threadtests

课程在那里,我只是不知道如何使用队列。

0 投票
1 回答
779 浏览

ios - IOS FMDB 良好实践

使用主线程在数据库中插入行/选择行是一种好习惯,还是我应该分派一个异步队列来执行此操作?在这种情况下..实现这一目标的正确方法是什么?

谢谢!