「既存コードあるから!」とSQLite扱う仕事引き受けたら sqlite3 function直書きしかなくて怒髪天を突いたのでつくりました。
以下、READMEの内容を日本語でべちゃっと書きます。
機能
必須
- libsqlite3.dylib
使い方
initialize
重要!必須!前提!
sqlite3 *sqlax;
NSString *filePath = @"your/sqlite/file/path";
sqlite3_open([filePath UTF8String], &sqlax);
YJMSQLiteQueryExecuter *exec = [[YJMSQLiteQueryExecuter alloc]init];
exec.database = sqlax;
run query
NSString *createSql = @"CREATE TABLE IF NOT EXISTS names (name TEXT)";
[exec query:createSql];
run query with named parameter
NSString *insertSql = @"INSERT INTO names(name) VALUES(:name)"; NSString *name = [NSString stringWithFormat:@"%@%d",@"name_",arc4random() % 99]; NSMutableArray *params = [@[] mutableCopy]; [params addObject:[YJMSQLiteNamedParameter namedParameterWithValue:name target:@":name" type:SQLITE_TEXT]]; [exec query:insertSql withNamedParams:[params copy ]];
get results of select query
NSString *selectSql = @"SELECT * FROM names"; NSArray *records = [exec query:selectSql]; [records enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSDictionary *record = obj; NSLog(@"%@",record[@"name"]); }];
Install
- Manual
YJMSQLiteNamedParameter.h/m
を使用したいプロジェクトにコピーしてください!YJMSQLiteQueryExecuter.h/m
を使用したいプロジェクトにコピーしてください!
License
Author
謝辞
デモのコードにはこちらを参考にさせていただきました!!