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>就行了 下面 ...
随机推荐
- iOS8 CLLocationManager 、CLGeocoder获取地理位置
最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下 ...
- STL 源代码剖析 算法 stl_algo.h -- lower_bound
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie lower_bound(应用于有序区间) ------------------------- ...
- C# Redis Server分布式缓存编程(二)
在Redis编程中, 实体和集合类型则更加有趣和实用 namespace Zeus.Cache.Redis.Demo { public class Person { public int Id { g ...
- Java下拼接运行动态SQL语句
mod=viewthread&tid=3039" target="_blank">Java拼接动态SQL的一般做法有 1.使用动态语句 非常多数 ...
- Android 文件读写的例子
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- Firefly distributed模块的原理与twisted中PB远程调用协议
这些天断断续续在看Firefly, 看了一下distributed模块的设计,其实就是使用的twisted.spread.pb觉得以后要是想用Firefly有必要了解一下twisted, 所以在网上查 ...
- Spring中Bean的生命中期与InitializingBean和DisposableBean接口
Spring提供了一些标志接口,用来改变BeanFactory中的bean的行为.它们包括InitializingBean和DisposableBean.实现这些接口将会导致BeanFactory调用 ...
- Android_CntextMenu_example_textSize
menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item ...
- uiatuomator如何调试
博主较笨,在使用junit 和uiatuomator结合时不知道怎么调试,因为uiatuomator一直是push在手机上,而junit是需要代码运行的,那我该怎么办,现在发一下不知道是哪位大神写的代 ...
- centos 7 下modelsim10.2c安装教程
step1: chmod +x ./install.linux(但是没有任何反应,原因是install.linux是32位程序,系统是64位的,所以要安装相应的库){ yum install glib ...