IOS之【sqlite3数据库】
来源:互联网 发布:linux 添加yum源 编辑:程序博客网 时间:2024/05/19 01:13
@interface jamesWongViewController () {
//数据库实例,代表着整个数据库
sqlite3 *_db;
}
@end
@implementation jamesWongViewController
- (void)viewDidLoad
{
[superviewDidLoad];
[selfopenDB];
[selfcreateTables];
for (int i =0; i<10; i++) {
//[self insertData];
}
[self findData];
// 关闭数据库
sqlite3_close(_db);
}
#pragma mark 查询数据
- (void)findData {
char *sql ="select id,name,age from t_person;";
sqlite3_stmt *stmt;
// sqlite3_prepare_v2做一些插入数据的准备
//主要是检查SQL语句的语法问题
int result =sqlite3_prepare_v2(_db, sql, -1, &stmt,NULL);
//说明语句没有语法问题
if (result ==SQLITE_OK) {
// 如果返回值是ROW,代表读取到一行数据
while (sqlite3_step(stmt) ==SQLITE_ROW) {
//列号从0开始
int ID =sqlite3_column_int(stmt,0);
char *name = (char *)sqlite3_column_text(stmt,1);
int age =sqlite3_column_int(stmt,2);
NSLog(@"id=%i,name=%s,age=%i", ID, name, age);
}
}else {
NSLog(@"查询数据的SQL语句语法有问题");
}
}
#pragma mark 插入数据
- (void)insertData {
char *sql ="insert into t_person(name, age) values(?, ?);";
sqlite3_stmt *stmt;
// sqlite3_prepare_v2做一些插入数据的准备
//主要是检查SQL语句的语法问题
int result =sqlite3_prepare_v2(_db, sql, -1, &stmt,NULL);
//说明语句没有语法问题
if (result ==SQLITE_OK) {
//第2个int类型的参数用来指定第几列,从1开始
// 绑定name字段的值
sqlite3_bind_text(stmt,1, "jamesWong", -1,NULL);
// 绑定age字段的值
sqlite3_bind_int(stmt,2, 10);
// 执行sql语句
if (sqlite3_step(stmt) !=SQLITE_DONE) {
NSLog(@"插入数据失败!");
}else {
NSLog(@"插入数据成功!");
}
}else {
NSLog(@"插入数据的SQL语句语法有问题");
}
}
#pragma mark 打开数据库
- (void)openDB {
// 数据库文件路径
NSString *filename = [@"sqlite.db"documentsAppend];
//如果数据库不存在,就会创建一个
int result =sqlite3_open([filenameUTF8String], &_db);
if (result ==SQLITE_OK) {
NSLog(@"打开数据库成功!");
}
}
#pragma mark 创建表
- (void)createTables {
char *sql ="create table if not exists t_person(id integer primary key autoincrement, name text, age integer);";
char *error;
// sqlite3_exec能执行一切SQL语句
// insert into t_person(name, age) values('jamesWong', 10);
int result =sqlite3_exec(_db, sql,NULL,NULL, &error);
if (result !=SQLITE_OK) {
NSLog(@"创表错误:%s", error);
}
}
@end
- IOS之【sqlite3数据库】
- 14、iOS 开发之数据库 SQLite3
- iOS 开发之封装一个 sqlite3 数据库
- iOS sqlite3 数据库操作
- iOS SQLite3数据库操作
- iOS sqlite3数据库解析
- IOS线程数据篇10之Sqlite3数据库的使用
- iOS之Sqlite3编程
- iOS之Sqlite3封装
- 数据库之Sqlite3
- python之数据库sqlite3
- sqlite3数据库之通讯录
- sqlite3数据库之停车场
- ios数据库--SQLite3使用详解
- iOS sqlite3 数据库的操作
- iOS数据库使用(sqlite3)
- iOS 简单使用sqlite3数据库
- 【iOS】数据库SQLite3的使用
- DDR内存 时序指南
- Spring+Servlet
- 战舰板stm32的adc dma实验
- NoSQL之Redis对set(集合)数据类型的操作之二
- 使用Intent启动Activity
- IOS之【sqlite3数据库】
- 超出的英文字母换行
- 常用dos
- 遍历Map的四种方法
- 判断是否允许使用相机
- css3的font-face
- 用二进制优化常数卡过Pku3074 Sudoku
- WPF DataTemplate绑定的简单学习
- mac用java7