草庐IT

ios - 更改build设置以编译 SQLCipher 后 FMDB 类出现 ARC 错误

我遵循了使用位于此处的二进制文件在iOS设备上编译SQLCipher的教程:http://sqlcipher.net/sqlcipher-binaries-ios-and-osx/我对build设置进行了多项更改,添加了header搜索路径和cflags。然后在测试了sqlcipher的编译后,二进制文件没有出现任何错误,但是FMDB之前不存在的错误开始显示如下:FMDatabaseAdditions.m:137:19:Implicitdeclarationoffunction'NSFileTypeForHFSTypeCode'isinvalidinC99`FMDatabaseAddi

ios - 如何在 IOS dev 中使用 FMDB 从 SQLite 读取整行数据?

我可以从这样的代码中读取所有列数据...FMResultSet*rs=[dbexecuteQuery:@"SELECTName,Age,FROMPersonList"];while([rsnext]){NSString*name=[rsstringForColumn:@"Name"];intage=[rsintForColumn:@"Age"];}或者通过这种方式找到一些数据NSString*address=[dbstringForQuery:@"SELECTAddressFROMPersonListWHEREName=?",@"John"];但是如果我想要一个包含整行数据的数组(假设

objective-c - 如何在 iPad 应用程序中使用 FMDB 作为框架?

我目前正在开发iPad应用程序。在一个阶段,有一系列slider和按钮,当您按下按钮时,它将slider的值存储到一个表中。首先,我需要使用SQLite来管理数据库。我找到了一个名为FMDB的项目,它是用于iPhone/Mac应用程序的SQLite的包装器。我是iOS/Objective-c开发的新手,想知道如何将FMDB(或FMDB框架)添加到应用程序中。-特里斯坦 最佳答案 在此处下载FMDB源代码:https://github.com/ccgus/fmdb要导入src文件夹,只需将其拖放到Xcode的项目导航器中即可。出现提示

sqlite - 何时关闭 SQLite 数据库(使用 FMDB)

什么时候应该关闭与SQLite数据库的连接(在FMDB中使用[dbclose])?现在我正在运行每批相关查询后关闭它,但我应该在我的应用程序关闭时关闭它吗?两种方式的优缺点是什么?谢谢 最佳答案 我是FMDB的开发者。除非您更改架构,否则请保持打开状态。这是关闭它的唯一原因,不断重新打开它会对性能/电池生命周期造成一点影响。 关于sqlite-何时关闭SQLite数据库(使用FMDB),我们在StackOverflow上找到一个类似的问题: https://s

iphone - 在 iOS 4.0 上使用 SQLite (FMDB) 和线程时出现 EXC_BAD_ACCESS

我正在使用FMDB处理我的数据库,它运行良好。该应用程序使用后台线程,该线程正在执行一些工作并需要访问数据库。同时主线程需要在同一个数据库上运行一些查询。FMDB本身有一个小的锁定系统,但是,我在我的类中添加了另一个。仅当我的类指示数据库未在使用时才执行每个查询。执行这些操作后,数据库将解锁。只要负载不是太高,这就会按预期工作。当我在主线程上运行的线程访问大量数据时,发生EXC_BAD_ACCESS错误。这是外观:-(BOOL)isDatabaseLocked{returnisDatabaseLocked;}-(Pile*)lockDatabase{isDatabaseLocked=Y

ios - SQLite FMDB 创建表 - 初学者 iOS

我认为这是一个简单的问题,但我没有在FMDBgit页面中找到答案。当你使用命令时:[databaseexecuteUpdate:@"createtableT_table(nametextprimarykey,ageint)"];FMDB或SQLite是否会进行某种验证以查看表是否已存在?我可以在我的类初始值设定项中调用此方法而不创建多个表吗?对不起,如果问题愚蠢。 最佳答案 另一个解决方案是将您的查询更改为:createtableifnotexiststest_table(test_noNUMBER,test_nameTEXT);或

objective-c - FMDB:添加新列并插入数据

在我的应用程序中,我正在使用FMDatabase。我试图将新的column添加到现有的table中,然后在该列中insert数据。当我通过AlterTable添加列时,我没有收到任何错误,但是当我尝试在表中插入数据时,我收到错误消息,提示新添加的列不存在。这是我的代码NSString*databasePath=[myDBgetPlacesDBPath];FMDatabase*db=[FMDatabasedatabaseWithPath:databasePath];if(![dbopen]){return;}if(![dbcolumnExists:@"placeName"inTableW

ios - 如何通过 FMDB 将数据保存和检索到 sqlite

如何将NSData保存到sqlite中,我正在使用FMDB包装器来保存数据。下面是我目前试过的代码用于保存NSData*data=[NSKeyedArchiverarchivedDataWithRootObject:model.expertArray];;NSString*query=[NSStringstringWithFormat:@"insertintosave_articlevalues('%@','%@','%@','%@','%@','%@')",model.Id,model.title,model.earliestKnownDate,data,model.excerpt,

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

我正在使用FMDB在iPhone上创建SQLite数据库。我有一个形式为initial.sqlCREATETABLEAbc...;CREATETABLEDef...;我通过将文件加载到NSString并运行它来加载它NSString*str=//stringfromfileinitial.sql[dbexecuteUpdate:str];这成功了,但后来我失败了:nosuchtable:Def很明显第二条语句没有被调用。我该怎么做才能调用所有查询?根据SQLite文档:“例程sqlite3_prepare_v2()、sqlite3_prepare()、sqlite3_prepare16

iphone - FMDB 查询不能正确使用 LIKE

我正在使用FMDB,它是SQLite的包装器。http://github.com/ccgus/fmdb这是我的查询行:FMResultSet*athlete=[dbexecuteQuery:@"SELECT*FROMathletesWHEREathlete_nameLIKE?",search_text];如果我输入运动员的确切姓名,我可以使用它返回结果。但是,我正在尝试使用LIKE以便我可以搜索名称。但是,当我添加%?%而不仅仅是?...没有任何返回。并且没有错误。有没有人以前遇到过这个并且知道我做错了什么?谢谢大家! 最佳答案 通