IOS第三十一天——在IOS开发中操作sqlite3
来源:互联网 发布:常州 软件企业排名 编辑:程序博客网 时间:2024/05/18 18:43
最近各种闹心了啊,工作的事儿,还有一些私人的原因,然后变得有点儿懒了,今天仔细想了想,有什么啊,大不了就是拍屁股走人呗,所以该学的还是要学,生活还是要继续,总会有精彩的人生等你去创造,所以趁着周末有时间,写了个IOS中操作sqlite数据库的demo,下面我们来看下:
首先在项目中添加sqlite库的sqlite3.dylib,至于如何添加,之前的笔记中提到过了,和添加Framework的方法是一样的。
至于sqlite3的一些基本操作,我们这里就略过了,因为我们也不是第一天接触sqlite3了,所以基本的操作还是知道的。
关键的代码我们来看一下:
首先是我们的viewDidLoad方法中,如果已有数据库,则打开,如果没有,则创建
- (void)viewDidLoad{ [super viewDidLoad]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSString *database_path = [documents stringByAppendingPathComponent:DBNAME]; if (sqlite3_open([database_path UTF8String], &demo_db) != SQLITE_OK) { sqlite3_close(demo_db); NSLog(@"数据库打开失败"); } NSString *sqlCreateTable = @"CREATE TABLE tbl_test(i_index INTEGER PRIMARY KEY,sc_name VARCHAR(32))"; [self execSql:sqlCreateTable]; NSString *sql1 = [NSString stringWithFormat: @"INSERT INTO tbl_test(sc_name) values('mac')"]; [self execSql:sql1]; // Do any additional setup after loading the view, typically from a nib.}当然,这其中调用的execSql方法,是我们提前写好的,很简单的一个方法,代码如下:
-(void)execSql:(NSString *)sql{ char *err; if (sqlite3_exec(demo_db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) { sqlite3_close(demo_db); NSLog(@"...数据库操作数据失败!"); }}
然后看下我们的xib文件的布局,很简单,只有一个button和一个label:
然后在按钮的点击事件中,我们添加如下的代码:
- (IBAction)selectSql:(id)sender{ NSString *sqlQuery = @"SELECT * FROM tbl_test"; sqlite3_stmt * statement; if (sqlite3_prepare_v2(demo_db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) { while (sqlite3_step(statement) == SQLITE_ROW) { char *name = (char*)sqlite3_column_text(statement, 1); NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name]; NSLog(@"name:%@ ",nsNameStr); showSql.text=nsNameStr; } } sqlite3_close(demo_db);}
OK,这样儿我们就完成了一个简单的demo了,下面我们来执行下看看:
运行的结果如下:
好,到此我们的这个sqlite3的demo也就结束了,那么其实在我们以后的应用程序开发过程当中会有更多的关于sqlite3的应用,到时候我们会自己写一个完善的sqlite3的操作类或者github上也有很多我们可以采用的第三方类库。
2013年6月16日,Eric.Tang 记
- IOS第三十一天——在IOS开发中操作sqlite3
- iOS中sqlite3操作
- IOS第三十五天——使用ZXing开发二维码
- iOS开发—sqlite3的使用
- IOS第三十三天——发送短信
- IOS中使用FMDB操作sqlite3
- ios中SQLite3的基本操作
- ios中SQLite3的基本操作
- ios中SQLite3的基本操作
- iOS关于sqlite3操作
- iOS sqlite3 数据库操作
- ios的sqlite3操作
- IOS FMDB操作SQLite3
- iOS SQLite3数据库操作
- iOS 操作sqlite3
- ios sqlite3多线程操作
- 在IOS 7中使用SQLite3
- iOS开发中 SQLite3的使用案例
- 项目管理师-挣值分析总结
- Python标准库——走马观花
- HDU1792(数论)
- Linux服务器问题排查常用指令
- [OOAD]OOD设计各个任务流程
- IOS第三十一天——在IOS开发中操作sqlite3
- git repo使用心得
- 10115 - Automatic Editing
- android 底层讲解
- 初始化列表的执行顺序
- 红黑树
- 控制驱动部分的设计
- 利用SQL注入漏洞登录后台
- 黑马程序员_java网络编程