- (void)viewDidLoad {
[super viewDidLoad];
//创建表
[self creatTable];
//插入数据
[self insertTable];
} // -----------------------创建一个表--------------------
- (void)creatTable
{
// 1.创建一个数据库对象
sqlite3 *sqlite3 = nil; // 2.数据库的路径
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"]; // 3.打开数据库 (通过指定路径打开数据库文件,假设没有就创建)
int result = sqlite3_open([path UTF8String], &sqlite3);
if (result != SQLITE_OK) {
NSLog(@"数据库打开失败!");
return;
} // 4.创建sql语句
NSString *sql = @"CREATE TABLE Students (id integer PRIMARY KEY,name text)"; // 5.运行SQL语句
char *error = NULL;
result = sqlite3_exec(sqlite3, [sql UTF8String], NULL, NULL, &error);
if (result != SQLITE_OK) {
NSLog(@"运行sql语句失败!");
// 6.关闭数据库
sqlite3_close(sqlite3);
return;
}
// 6.关闭数据库
sqlite3_close(sqlite3);
} // -------------------------插入数据------------------------
- (void)insertTable
{
// 1.创建一个数据库对象
sqlite3 *sqlite3 = nil; // 2.数据库的路径
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mySqlite.db"]; // 3.打开数据库 (通过指定路径打开数据库文件。假设没有就创建)
int result = sqlite3_open([path UTF8String], &sqlite3);
if (result != SQLITE_OK) {
NSLog(@"数据库打开失败! ");
return;
} // 4.创建sql语句
// insert into students(id,name) values('123456','李斯')
NSString *sql = @"insert into students(id,name) values(?,?)"; // 5.编译sql语句
// 创建一个数据句柄对象
sqlite3_stmt *stmt = nil;
result = sqlite3_prepare_v2(sqlite3, [sql UTF8String], -1, &stmt, nil);
if (result != SQLITE_OK) {
NSLog(@"编译失败");
// 关闭数据库
sqlite3_close(sqlite3);
return;
} // 6.绑定数据到数据句柄里面
sqlite3_bind_int(stmt, 1, 123457);
sqlite3_bind_text(stmt, 2, "张三", -1, nil); // 7.运行数据句柄的操作
result = sqlite3_step(stmt);
if (result == SQLITE_ERROR || result == SQLITE_MISUSE) {
NSLog(@"插入失败");
// 关闭数据句柄
sqlite3_finalize(stmt);
// 关闭数据库
sqlite3_close(sqlite3);
return ;
} // 8.运行成功
NSLog(@"插入成功");
// 关闭数据句柄
sqlite3_finalize(stmt);
// 关闭数据库
sqlite3_close(sqlite3); }

最新文章

  1. 【腾讯Bugly干货分享】微信终端跨平台组件 Mars 系列 - 我们如约而至
  2. JS控制div跳转到指定的位置的解决方案总结
  3. 每天一个percona 工具 --- pt-kill
  4. 搭建EF6.0+MVC4搭建框架——之路由配置
  5. mysql 优化analyze table
  6. grails下的httpclient
  7. pygame “音乐盒”---- 播放一首歌& 点击对话框后背景以及对话框大小改变
  8. Ruby基础类型,动态特性,代码块
  9. CSS开发经验
  10. 关于js中window.location.href,location.href,parent.location.href,top.location.href的使用方法
  11. A ResourcePool could not acquire a resource from its primary factory or source
  12. (转)java.util.Scanner应用详解
  13. DevOps之服务器
  14. 关于CSS的table-layout属性的用法详解
  15. 自定义view入门
  16. centos7基于samba服务配置实例
  17. 【Spring】18、springMVC对异常处理的支持
  18. solr 5.5使用 和pyg里 的4.10.3版 部署到tomcat中不一样(不使用内置jetty)
  19. Going Home
  20. CentOS7安装OpenStack(Rocky版)-05.安装一个nova计算节点实例

热门文章

  1. POJ 3268 Silver Cow Party 最短路—dijkstra算法的优化。
  2. 使用BootStrap网格布局进行一次演示
  3. 在Visual studio 2010中为C#的“///”注释内容生成XML文档 .
  4. webRTC前世今生
  5. 【小技巧】树剖套线段树优化建图如何做到 O(nlogn)
  6. jquery 获取被点击元素的id属性值
  7. 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest I. Photo Processing
  8. HDU5006 Resistance(高斯消元)
  9. Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version
  10. 在本地(自己电脑上)部署了tomcat服务器,真机测试遇到的问题