iOS数据库操作流程
SQLite最新的版本是3.0,使用之前应该先导入libsqlite3.0.dylib
1.导入流程


2.iOS中操作数据库的流程
打开数据库
准备SQL数据库
执行SQL数据库
语句完结
关闭数据库
3.SQLite()使用的是C的函数接口

4.创建数据库
-(void)createSQL{
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:kDataBaseFilePath]) {
NSLog(@"数据库不存在");
return;
}
NSLog(@"%@",kDataBaseFilePath);
[manager createFileAtPath:kDataBaseFilePath contents:nil attributes:nil];
sqlite3 *sql =NULL;
int openDbResult = sqlite3_open([kDataBaseFilePath UTF8String], &sql);
if (openDbResult==SQLITE_OK) {
NSLog(@"数据库打开成功");
}
else{
NSLog(@"打开不成功");
[manager removeItemAtPath:kDataBaseFilePath error:nil];
return;
}
NSString *sqlString = @"CREATE TABLE user(id integer PRIMARY KEY AUTOINCREMENT, username text NOT NULL UNIQUE, password text NOT NULL);";
char *errmsg = NULL;
int exeResult = sqlite3_exec(sql, [sqlString UTF8String], NULL, NULL, &errmsg);
if (exeResult == SQLITE_OK) {
NSLog(@"表格成功被创建");
}
else{
NSLog(@"失败");
sqlite3_close(sql);
[manager removeItemAtPath:kDataBaseFilePath error:nil];
return;
}
sqlite3_close(sql);
}
5.数据库的插入数据库
-(void)createSQL{
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:kDataBaseFilePath]) {
NSLog(@"数据库不存在");
return;
}
NSLog(@"%@",kDataBaseFilePath);
[manager createFileAtPath:kDataBaseFilePath contents:nil attributes:nil];
sqlite3 *sql =NULL;
int openDbResult = sqlite3_open([kDataBaseFilePath UTF8String], &sql);
if (openDbResult==SQLITE_OK) {
NSLog(@"数据库打开成功");
}
else{
NSLog(@"打开不成功");
[manager removeItemAtPath:kDataBaseFilePath error:nil];
return;
}
NSString *sqlString = @"CREATE TABLE user(id integer PRIMARY KEY AUTOINCREMENT, username text NOT NULL UNIQUE, password text NOT NULL);";
char *errmsg = NULL;
int exeResult = sqlite3_exec(sql, [sqlString UTF8String], NULL, NULL, &errmsg);
if (exeResult == SQLITE_OK) {
NSLog(@"表格成功被创建");
}
else{
NSLog(@"失败");
sqlite3_close(sql);
[manager removeItemAtPath:kDataBaseFilePath error:nil];
return;
}
sqlite3_close(sql);
}
iOS数据库操作流程的更多相关文章
- iOS 数据库操作(使用FMDB)
iOS 数据库操作(使用FMDB) iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.Plausibl ...
- [iOS]数据库第三方框架FMDB详细讲解
[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...
- IOS数据库操作SQLite3使用详解(转)
iPhone中支持通过sqlite3来访问iPhone本地的数据库.具体使用方法如下1:添加开发包libsqlite3.0.dylib首先是设置项目文件,在项目中添加iPhone版的sqlite3的数 ...
- IOS数据库FMDB增、删、改、查的使用【原创】
http://blog.it985.com/13588.html IOS数据库FMDB增.删.改.查的使用[原创] FMDB是一个XCODE的中一个轻量级的数据库,用于将网络资源存储在本地.所以,FM ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
- 分享一段ios数据库代码,包括对表的创建、升级、增删查改
分享一段ios数据库代码.包括创建.升级.增删查改. 里面的那些类不必细究,主要是数据库的代码100%可用. 数据库升级部分,使用switch,没有break,低版本一次向高版本修改. // DB.h ...
- ios数据库
1. ios数据库管理软件 ios使用的数据库是sqlite 管理软件有2种, 我只记得一种, 名字叫做 MesaSQLite 2. sqlite数据库 2.1.修改表结构 ①:更改字段类型长度 AL ...
- iOS数据库离线缓存思路和网络层封装
一直想总结一下关于iOS的离线数据缓存的方面的问题,然后近期也简单的对AFN进行了再次封装.全部想把这两个结合起来写一下.数据展示型的页面做离线缓存能够有更好的用户体验,用户在离线环境下仍然能够获取一 ...
- iOS 数据库sqlite3.0操作--超简单--看我就够啦
iOS客户端数据存储的方式有很多,下面主要是介绍苹果自带的sqlite3.0的使用方法. 首先导入sqlite3.0的框架.然后导入头文件#import <sqlite3.h>就行了 下面 ...
随机推荐
- go操作数据库 Go-SQL-Driver/MySQL 使用详解
go操作mysql的驱动包很多,这里讲解当下比较流行的Go-SQL-Driver/MySQL1.下载安装 执行下面两个命令: 下载:go get github.com/Go-SQL-Driver/My ...
- JS保留两位小数 四舍五入函数
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. <script language="javascript"> document.write(& ...
- Android Fragment 简单实例
Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...
- 在iOS中怎样创建可展开的Table View?(下)
接上篇:在iOS中怎样创建可展开的Table View?(上) 展开和合拢 我猜这部分可能是你最期望的了,因为本次教程的目标将会在在部分实现.第一次我们设法让顶层的cell,在它们点击的时候展开或者合 ...
- Oracle读取和修改数据块的过程 专家
http://blog.itpub.net/18841027/viewspace-1649618/
- careercup-C和C++ 13.10
13.10 用C编写一个my2DALLoc函数,可分配二维数组.将malloc函数的调用次数降到最少,并确保可通过arr[i][j]访问该内存. 解法: 这道题目最简单的方法就是先开一个数组来存储指向 ...
- PAT 1011
1011. World Cup Betting (20) With the 2010 FIFA World Cup running, football fans the world over were ...
- Visual Studio 2012 Web一键式发布
按照保哥的介绍,尝试“ Web一键式发布”,但总是出错,主要就是404错误,不知道是什么原因.默认的 Web一键式发布是在C:\inetpub\wwwroot目录下,难道是权限问题?折腾N久无果.好吧 ...
- httpURLConnection-网络请求的两种方式-get请求和post请求
GET请求 /** * 从网络获取json数据,(String byte[}) * @param path * @return */ public static String getJsonByInt ...
- nginx查看日志
原文:nginx日志格式及自定义日志配置 nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 ...