ios数据库
来源:互联网 发布:linux vi 如何编辑 编辑:程序博客网 时间:2024/06/06 02:26
#import <Foundation/Foundation.h>#import <sqlite3.h>@interface SqliteManager : NSObject+ (sqlite3 *)getSqlite;+ (void)closeSqlite:(sqlite3 *)sqlite;+ (NSString *)createSql:(NSString *)tableName params:(NSArray *)params;+ (NSString *)insertSql:(NSString *)tableName params:(NSDictionary *)params;+ (NSString *)fetchSql:(NSString *)tableName params:(NSDictionary *)params;+ (NSString *)deleteSql:(NSString *)tableName params:(NSDictionary *)params;+ (NSString *)stringFromChar:(const char*)val;@end
#import "SqliteManager.h"#define DATABASE_NAME @"JieLi.db"@implementation SqliteManager+ (sqlite3 *)getSqlite{ sqlite3 *database = nil; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [paths objectAtIndex:0]; NSString *path = [documentDirectory stringByAppendingPathComponent:DATABASE_NAME]; sqlite3_open([path UTF8String], &database); return database;}+ (void)closeSqlite:(sqlite3 *)sqlite{ sqlite3_close(sqlite);}+ (NSString *)createSql:(NSString *)tableName params:(NSArray *)params{ NSMutableString *sql = [[[NSMutableString alloc] init] autorelease]; [sql appendFormat:@"create table if not exists %@ (id integer primary key autoincrement,", tableName]; for (NSString *val in params) { [sql appendFormat:@" %@ text,", val]; } [self deleteStringLastCode:sql]; [sql appendString:@")"]; return sql;}+ (NSString *)insertSql:(NSString *)tableName params:(NSDictionary *)params{ NSMutableString *sql = [[[NSMutableString alloc] init] autorelease]; [sql appendFormat:@"insert into %@ (", tableName]; for (NSString *val in [params allKeys]) { [sql appendFormat:@" %@,", val]; } [self deleteStringLastCode:sql]; [sql appendString:@") values ("]; for (NSString *val in [params allKeys]) { [sql appendFormat:@"'%@',", [params objectForKey:val]]; } [self deleteStringLastCode:sql]; [sql appendString:@")"]; return sql;}+ (NSString *)fetchSql:(NSString *)tableName params:(NSDictionary *)params{ NSMutableString *sql = [[[NSMutableString alloc] init] autorelease]; [sql appendFormat:@"select * from %@ ", tableName]; if (nil != params && [params count] > 0) { [sql appendString:@"where "]; for (NSString *key in [params allKeys]) { [sql appendFormat:@"%@ = %@,", key, [params objectForKey:key]]; } [self deleteStringLastCode:sql]; } return sql;}+ (NSString *)deleteSql:(NSString *)tableName params:(NSDictionary *)params{ NSMutableString *sql = [[[NSMutableString alloc] init] autorelease]; [sql appendFormat:@"delete from %@ ", tableName]; if (nil != params && [params count] > 0) { [sql appendString:@"where "]; for (NSString *key in [params allKeys]) { [sql appendFormat:@"%@ = %@,", key, [params objectForKey:key]]; } [self deleteStringLastCode:sql]; } return sql;}+ (NSString *)stringFromChar:(const char*)val{ if (val != NULL) { return [NSString stringWithUTF8String:val]; } return nil;}+ (void)deleteStringLastCode:(NSMutableString *)val{ NSRange range = NSMakeRange([val length] - 1, 1); [val deleteCharactersInRange: range];}@end
用法
#define TABLE_NAME @"book"
#define TABLE_COLUMN @[@"bookId", @"thumb", @"author", @"publish", @"price", @"bookName", @"brief"]
NSString *createSql = [SqliteManager createSql:TABLE_NAME params:TABLE_COLUMN];//获取创建数据库sql
0 0
- iOS 数据库
- ios 数据库
- iOS---数据库
- ios数据库
- ios数据库
- ios数据库
- IOS数据库
- iOS 数据库
- ios数据库
- IOS 数据库
- IOS数据库
- iphone ios 数据库操作
- iOS 开发资源 - 数据库
- ios访问sqlite数据库
- iOS持久化(数据库)
- ios 数据库简单操作
- iOS sqlite3 数据库操作
- iOS sqlite数据库
- 黑马程序员-java基础加强-enhance4
- Web.xml配置详解
- WinCE BSP中的Dirs文件和Sources文件
- HCPC2014校赛训练赛 4 A.Alphabet Cookies (3.16)
- sd敢达干撒根深蒂固大概是固定的
- ios数据库
- 极限编程,一次反思
- php之无限分类系统(一)
- 学习OpenCV范例(九)——输入输出XML和YAML文件
- 黑马程序员-java基础加强-enhance5
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
- linux通过C/C++获取本地时间的方法
- 相关的活动发货烦得很
- 黑马程序员_破解面试题视频_简单笔记整理