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>就行了 下面 ...
随机推荐
- Parameterized Path 的例子
Improve the planner's ability to use nested loops with inner index scans (Tom Lane) The new "pa ...
- 如何关闭UINavigationController 向右滑动 返回上一层视图
说明一下: 我的nav 设置的rootview 是 tabbarcontroller,登录界面是push进去的,所以,在登录界面,如果靠近最左边 向右滑动 会出现 tabbarcontroller的视 ...
- Android 文件读写的例子
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- 【C/C++多线程编程之六】pthread相互排斥量
多线程编程之线程同步相互排斥量 Pthread是 POSIX threads 的简称,是POSIX的线程标准. Pthread线程同步指多个线程协调地,有序地同步使用共享 ...
- C#_MVC_Repository_CURD_Controller
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- com.transfer.www
package com.transfer.www; import java.io.IOException; import java.io.PrintWriter; import javax.servl ...
- C语言结构体赋值2
#include <stdio.h> /** 上一个版本的name是固定大小的,不好,这次换用 *name然后 采用 堆的方式申请内存,起到用到少拿多少的一个方式. */ struct s ...
- 深入理解计算机系统第二版习题解答CSAPP 2.11
在2.10中的inplace_swap函数的基础上,你决定写一段代码,实现将一个数组中的元素两端依次对调,你写出下面这个函数: void reverse_array(int a[], int cnt) ...
- 解决codeforces访问慢的问题
转载至:http://blog.csdn.net/wmx16835/article/details/38639451 前阵子打Codeforces(以下简称CF),每次比赛的时候都要等待网页刷新.不是 ...
- hdu 1093 A+B for Input-Output Practice (V)
A+B for Input-Output Practice (V) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3276 ...