Tag: sqlite

SQLite顺序通过放置变音符号和特殊字符结束

我正在使用Phonegap为iOS做一个字典应用程序。 当查询数据库的字母表列表我使用COLLATE NOCASE : ORDER BY term COLLATE NOCASE ASC 这解决了这个问题,即以小写字母开头的术语(附加到最后)。 然而,非标准字符öäüéêè最后仍然得到sorting〜这里有两个例子: Expected: Öffnungszeiten Oberved: Zuzahlung Zuzahlung Öffnungszeiten (or) clé cliquer sur cliquer sur clé 我环顾四周,发现类似的问题在这里或这里讨论,但似乎一般的build议是安装某种types的扩展 这个扩展可能可以帮助你… …使用ICU作为扩展 SQLite支持与ICU集成… 但我不知道这是否适用于我的情况下数据库不是由我自己托pipe,但在客户端设备上运行。 所以我想我会把这个扩展w /我的应用程序包。 我对iOS不是很熟悉,但是我觉得这个感觉很复杂 – 至less。 另外在官方论坛中,我发现这个提示: SQLite does not properly handle accented characters. 并在文本中一点点的海报提到SQLite中的错误。 我发现的所有链接都没有被激活,但是它们中的一些似乎并没有处理我正在开发的移动环境。 所以我想知道是否有人在他们的iOS项目上find了解决scheme。 该文件说明他们只有3个默认的COLLATION选项: 6.0整理序列 当SQLite比较两个string时,它使用一个整理序列或整理函数(两个词用于同一事物)来确定哪个string更大或者两个string是否相等。 SQLite有三个内置的整理函数:BINARY,NOCASE和RTRIM。 BINARY – Compares string data […]

在iOS 10中的sqlite3_prepare_v2 exc_bad_access

我在我的iOS项目中使用sqlite数据库。 在iOS 9中,所有的东西都是完美的。 现在我已经更新新的Xcode。 但是应用程序在'sqlite3_prepare_v2'上崩溃了很多次。 另外,我不closures数据库加class。 并且只打开一次。 我已经添加数据库打开下面的代码b'acs在debugging我有DBclosures。 但仍然崩溃。 紧急 谁能帮我 ? 提前致谢

来自现有SQLite数据库的核心数据数据模式

是否有可能从现有的SQLite数据库文件生成一个.xcdatamodel(CoreData数据模型)? 我开发了一个SQLite数据库,并编写了一个Java API。 现在,我需要写一个相同的iOS API到同一个数据库(文件)。 我不想在xCode中手工创build数据模式。 我只是想生成.xcdatamodel,并使用xCode来生成我将编码的实体类。 可能吗?

进程间SQLite线程安全(在iOS上)

我试图确定如果我的SQLite访问数据库是在iOS上线程安全的。 我正在编写一个非App Store应用程序(或可能是一个启动守护程序),所以苹果的批准不是问题。 有问题的数据库是内置的sms.db ,所以肯定操作系统也访问这个数据库的读写。 我只想能够安全地阅读它。 我读过这个关于阅读从多个进程与SQLite : 多个进程可以同时打开同一个数据库。 多个进程可以同时做一个SELECT。 但是,只有一个进程可以随时对数据库进行更改。 我明白,线程安全可以从sqlite编译出来,而sqlite3_threadsafe()可以用来testing这个。 在iOS 5.0.1上运行 int safe = sqlite3_threadsafe(); 产生2的结果。 据此 ,这意味着互斥锁可用 。 但是,这并不意味着它正在使用。 我并不完全清楚线程安全是在每个连接,每个数据库还是全局基础上dynamic启用的。 我也读过这个 。 看起来像sqlite3_config()可以用来启用安全的multithreading,但是当然,我没有控制权,或者操作系统本身可能如何使用这个调用(我?)的可见性。 如果我在应用程序中再次进行调用,是否会安全地读取数据库,还是只能解决使用相同sqlite3数据库句柄的应用程序中多个线程的并发访问冲突? 无论如何,我的问题是… 我可以安全地阅读这个数据库,也可以通过iOS访问,如果是的话,如何?

Blob数据types?

blob数据types还可以存储video数据吗?

在sqlite中设置user_version

我在这里看到关于阅读user_version的其他问题,这似乎对我工作正常。 但是我想在FMDB中使用sqlite来设置我的版本号,它不是设置。 _db = [self openDatabase]; [_db executeUpdate:[StudentController creationString]]; [_db executeUpdate:[ReadingController creationString]]; [_db executeUpdate:[SessionController creationString]]; NSLog(@"User version is %i", userVersion); NSString *query = [NSString stringWithFormat:@"PRAGMA USER_VERSION = %i", userVersion]; [_db executeQuery:query]; 我得到的输出是: 2014-01-16 22:16:25.438 MyApp[2810:1c103] User version is 2 2014-01-16 22:16:25.439 MyApp[2810:1c103] Query is PRAGMA USER_VERSION = 2 2014-01-16 22:18:09.272 MyApp[2810:1c103] Database copied and created […]

尝试覆盖iPhone应用程序更新中的sqlite数据库

与大多数开发人员不想在sqlite数据库中覆盖数据的sqlite应用程序不同,我试图启用应用程序来覆盖所有数据以便将来更新。 sqlite数据库将具有完全相同的名称,并具有相同的表,我只是希望能够更新数据库中包含的数据,而不使用户删除应用程序并重新安装它。 有没有简单的方法来做到这一点? 提前致谢!

用libgdx为iOS(robovm)使用sqlite数据库

我有一个libgdx项目(Android),我在哪里使用SQLite数据库 。 我正在开发在iOS版本(robovm)相同的项目,我找不到任何关于iOS版本的SQLite或数据库。 是否有可能使用相同的SQLite数据库? 谢谢。

从文本字段插入数据到SQLite数据库

我试图插入数据到我的SQLite数据库。 我导入了所有为我的项目而定的neccassry框架和数据库文件。 在我的控制器类xib中有两个文本框和一个button。 当我点击button时,我想要将数据input到保存在数据库中的两个文本字段中。 在我的应用程序delagate中,我创build了两个函数,一个函数用于附加数据库的path,另一个用于将数据插入数据库。 在插入函数中,我检查了一些特定的条件,例如,如果添加了数据,应该显示一个警告视图来显示添加的logging,但是当我添加一个新logging时,它总是进入else块,这是一个错误。 -(void)checkAndCreateDB { NSString* databaseName = @"login.sqlite"; NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [documentPaths objectAtIndex:0]; NSString *databasePath=[documentsDir stringByAppendingPathComponent:@"login.sqlite"]; databasePath = [documentsDir stringByAppendingPathComponent:databaseName]; BOOL success; NSFileManager *fileManager = [NSFileManager defaultManager]; success = [fileManager fileExistsAtPath:databasePath]; if(success) return; NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseName]; [fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil]; } […]

如何处理iOS SQLite中的重音字符?

我需要执行对大小写不敏感的SELECT查询。 为了演示目的,我创build了一个如下表格: create table table ( column text collate nocase ); insert into table values ('A'); insert into table values ('a'); insert into table values ('Á'); insert into table values ('á'); create index table_cloumn_Index on table (column collate nocase); 然后,我在执行下列查询时得到这些结果: SELECT * FROM table WHERE column LIKE 'a'; > A > a SELECT * FROM […]