Tag: sqlite

SQLite3错误 – iOS

我怎样才能弄清SQLite3在我进行SQL调用时给我的错误: int success = sqlite3_prepare_v2(database, sql, -1, &stmt, NULL); if(success != SQLITE_OK) { NSLog(@"create stmt failed %@",stmt); } 所有我知道的是,如果它失败了,但有没有办法得到实际的错误,或者为什么失败?

无法在iOS中打开/​​创buildSQLite数据库

我有2个文件DatabaseViewController.h文件 #import <UIKit/UIKit.h> #import "sqlite3.h" @interface DatabaseViewController : UIViewController @property (weak, nonatomic) IBOutlet UILabel *status; @property(strong,nonatomic) NSString *databasePath; @property(nonatomic) sqlite3 *contactDb; @end 另一个DatabaseViewController.m: – (void)viewDidLoad { [super viewDidLoad]; NSString *docsDir; NSArray *dirPaths; // Get the documents directory dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES); docsDir = dirPaths[0]; //Buid the path for database file _databasePath = [[NSString alloc] […]

在Core Data中写入原生SQL

我需要在我的项目中使用核心数据时编写一个本机SQL查询。 我真的需要这样做,因为我现在正在使用NSPredicate ,效率不够(仅仅是一个例子)。 我只需要编写几个子查询和连接来获取大量的行并按特殊字段sorting。 特别是,我需要用他们的孩子的价值的总和来分类。 现在我正在使用NSPredicate获取所有内容,然后手动对结果(数组)进行sorting,但是由于有成千上万个结果,所以这个过程需要很长时间。 请纠正我,如果我错了,但我敢肯定,这不是一个巨大的挑战,因为有一种在iOS应用程序中使用SQLite的方式。 如果有人能指引我走向正确的方向,那将是非常棒的。 提前致谢。 编辑:让我解释我在做什么。 这是我的Coredata模型: 下面是我在iPad上看到的结果: 我为每位顾客展示了一张表,每位顾客在2012年1月至6月(最后一个)和2013年(库尔)的销售量都是相同的。 在Curr旁边有这两个值之间的差异。 毛利率和覆盖率同样如此。 每个客户都保存在Kunde表中,每个Kunde都有几个PbsRow 。 PbsRow实际上持有每月销售额的总和。 所以为了显示这些结果,我要做的是在2013年1月到6月之间获取所有PbsRows ,然后执行此操作: self.kunden = [NSMutableOrderedSet orderedSetWithArray:[pbsRows valueForKeyPath:@"kunde"]]; 现在我拥有所有在2013年1月至6月之间都有logging的客户(Kunde)。然后我使用for循环来计算每个客户的总和。 这个想法是获得当年的销售金额,并将其与去年进行比较。 坏消息是有很多客户, for -loop需要很长的时间:-(

核心数据是否自动创build一个SQLite数据库文件?

核心数据是否自动创build一个sqlite数据库? 如果是,为什么不可见? – (NSPersistentStoreCoordinator *)persistentStoreCoordinator { if (__persistentStoreCoordinator != nil) { return __persistentStoreCoordinator; } NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Database.sqlite"]

如何debugginglocking的sqlite3数据库

我正在写一个使用由fmdatabase包装的sqlite3的iOS应用程序。 我遇到的问题是,在某些时候,我的程序被卡在FMDatabase库的一个循环中,尤其是一个调用sqlite3_step并发现数据库正忙的函数,然后一遍又一遍地重试。 我正在寻找一般的debugging工具和技巧,因为这将是我的整个设置太多。 有些事情可能是重要的,我打开一个数据库句柄到一个已经在另一个线程中有句柄的数据库。 sqlite3_threadsafe()返回2,所以我知道它的启用。 我也通过一个非常简单的select和更新语句来testing这个新的连接。 当我让我的程序运行,并尝试运行数据库更新时,我卡住了。 我的程序自己的更新语句没有错,因为这个查询运行良好,当我不打开两个连接。 然而,我没有看到我可能会出错的地方… 任何帮助或提示,我可能是错误的将不胜感激。

FMDB查询不正确使用LIKE

我正在使用FMDB,这是SQLite的包装。 http://github.com/ccgus/fmdb 这是我的查询行: FMResultSet *athlete = [db executeQuery:@"SELECT * FROM athletes WHERE athlete_name LIKE ?", search_text]; 使用这个我可以得到一个结果,如果我input运动员的确切名称。 但是,我正在尝试使用LIKE,所以我可以search名称。 但是,当我添加%?%而不是只是? …没有任何回报。 没有错误。 有没有人遇到过这个,知道我在做什么错了? 感谢大家!

从sqlite读取unicode并创build一个NSString

我工作的iOS应用程序,我需要存储和从SQLite数据库中检索,具有下标的NSString的表示。 我可以在编译时用常量创build一个NSString: @ “BR \ u2082_CCl \ u2084” 是2个下标,是4个下标。 什么即时存储在SQLite数据库是: “BR \ u2082_CCl \ u2084” 但是我不知道该怎么做,将它重新转换成NSString。 数据从数据库中作为char *“Br \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'''''''删除额外的斜线在我的微弱实验中没有任何区别。 我需要一种方式让它回到NSString中 – 谢谢!

C ++:如何在已经在iOS中的MFC应用程序中重用Encrypted Sqlite数据库

我正在一个项目的中间,我想在我的MFC\C++应用程序中重用iOS应用程序的SQLite数据库。 iOS数据库使用“sqlite3_key()”进行encryption,并使用SQLCipher进行数据库处理。 和 我在CppSQLite3 Wrapper的帮助下使用SQLiteEncrypt进行数据库处理。 但是,当我试图执行数据库上的任何语句抛出和exceptionFile is encrypted or not a database 。 我没有得到任何领先。 任何人都可以帮我解决这个问题吗? 我知道它的下列问题的重复,但问题是无效的 ,我不能从这个问题得到任何答案。 1. 如何使用SQLite数据库从一个平台(iOS)到另一个(Windows) 2. 如何从另一个平台(iOS到Windows)打开和读取SQLite数据库, 请帮我解决这个问题。

核心数据和10 000个audio文件

我有一个实体“Word”,它有两个属性 – inputSound和outputSound,它们都很less,大约有10KB的audio文件,但是在我的SQL数据库中会有4000个实体。 首先,我尝试将它们作为二进制数据存储在我的SQL中,并且使其工作非常缓慢。 所以,然后我发现了一个选项“存储在外部logging文件”,我想问,如果这将帮助我,或者我应该更好地存储url到我的实体属性的audio文件? 如果第一个更好,我应该如何将第一次启动时从Bundle移动到文档目录? 现在,我只是应付一个SQL(它在我的应用程序的开发人员的一部分,我已经预先填充),但我应该如何做这么多的文件?我可以这样做在后台以某种方式使我的第一次发射更快,更用户友好? 这是我现在做的 – (NSPersistentStoreCoordinator *)persistentStoreCoordinator { if (__persistentStoreCoordinator != nil) return __persistentStoreCoordinator; NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]; NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject]; NSString *defaultStore = [documentsDirectory stringByAppendingPathComponent:@"Easy10.sqlite"]; NSString *sqliteInBundle = [[[NSBundle mainBundle] pathForResource:@"Easy10" ofType:@"sqlite"]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Easy10.sqlite"]; NSError […]

在Sqlite中存储NSMutableArray

我有一个NSMutableArray包含多个CGRects的坐标和大小。 我想存储到sqlite中。 是否有可能存储整个数组? 或者,我应该只是手动将CGRects存储在数据库中? 更新: 这是我从数据库中检索到的数据: 62706c69 73743030 d4010203 04050817 18542474 6f705824 6f626a65 63747358 24766572 73696f6e 59246172 63686976 6572d106 0754726f 6f748001 a3090a0f 55246e75 6c6cd20b 0c0d0e5a 4e532e6f 626a6563 74735624 636c6173 73a08002 d2101112 16582463 6c617373 65735a24 636c6173 736e616d 65a31314 155e4e53 4d757461 626c6541 72726179 574e5341 72726179 584e534f 626a6563 745e4e53 4d757461 626c6541 72726179 12000186 a05f100f 4e534b65 79656441 72636869 76657208 […]