iOS数据库SQLite基本操作

数据库操作几点建议:

  1. 注意sql执行语句的字符串的拼写。(一定要注意拼写,深受其害  T_T  )
  2. Obj-C中SQLite常用函数。

    (没几个,sqlite3_open,sqlite3_close,sqlite3_exec,sqlite3_perpare_v2,sqlite3_step,sqlite3_column_*,……)(外加两个对象:sqlite,sqlite_stmt)

  3. SQLite语法。(一般的数据库操作都一样)
  4. 如果做大一点的项目的话,数据库操作还是尽可能的封装吧。
  5. 善用搜索。(没少走弯路)

废话不多说,代码加注释:

//数据库路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDir = [paths objectAtIndex:0];

NSString *filePath = [documentsDir stringByAppendingPathComponent:@"test3.sqlite"];

//打开数据库

if (sqlite3_open([filePath UTF8String], &database) != SQLITE_OK)

{

NSLog(@"打开数据库失败");

}

//数据执行操作封装,不想封装直接用sqlite3_exec函数

//sqlite3_exec返回枚举值(整形),可以执行创建表,插入,删除,更新等操作

- (int)execSql:(NSString*)sql

{

char *errmsg;

if (sqlite3_exec(database, [sql UTF8String], nil, nil, &errmsg) != SQLITE_OK) {

NSLog(@"数据库操作失败!");

NSLog(@"%s", errmsg);

return SQLITE_ERROR;

}

return SQLITE_OK;

}

//调用封装后的方法创建数据库

NSString *createTableHistory = @"create table if not exists atable(id integer primary key autoincrement, acolumn nvarchar(20) not null);";

[self execSql:createTableHistory];

//数据库查询,(待封装)

thing = [[NSMutableArray alloc] init];

NSString *selectSql = @"select * from atable";

sqlite3_stmt *statement;

if (sqlite3_prepare_v2(database, [selectSql UTF8String], -1, &statement, nil) == SQLITE_OK) {

while (sqlite3_step(statement) == SQLITE_ROW) {

//nvarchar类型查询出来是char*,赋值给NSString的话需要转换,

//注意,这里是第1列,列数是从第0列开始的

//如果要查询多个字段,如学生信息,可以把学生封装成一个类,然后把该类的事例一个个放到数组里

[thing addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)]];

}

}

else

{

NSLog(@"数据查询失败!");

}

//最后当页面关闭,或程序关闭记得关闭数据库

sqlite3_close(database);

时间: 2024-10-01 07:12:51

iOS数据库SQLite基本操作的相关文章

iOS 数据库SQLite

SQLite介绍 SQLite是一款轻型的嵌入式数据库,安卓和iOS开发使用的都是SQLite数据库. 它的特点: 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. 它的处理速度比MySQL.PostgreSQL这两款著名的数据库都还快. 它是C语言框架的,跨平台性强. 要在iOS中使用SQLite3,需要在Xcode导入libsqlite3的库 下面是结合SQL语句完成数据库操作,使用到的是上面定义的方法: 创建表: create table 表名称(字段1,字段2,--,字

ios数据库SQLite实现

SQLite嵌入式数据库 1.支持时间,不需要配置,不需要安装,不需要管理员; 2.支持大部分SQL92; 3.完整的数据库保存在磁盘上面的一个文件,同一个数据库文件可以在不同机器上面使用.最大支持数据库到2T; 4.占用内存少; // 如果你使用数据库的话 要引入一个框架 // libsqlite3.0.dylib框架 1 创建一个studentmodel类 2 #import <Foundation/Foundation.h> 3 4 @interface LanOuStudent : N

SQLite基本操作-----IOS(如有雷同,纯属巧合)

一.常用方法 sqlite3          *db, 数据库句柄,跟文件句柄FILE很类似 sqlite3_stmt      *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句 sqlite3_open(),   打开数据库,没有数据库时创建. sqlite3_exec(),   执行非查询的sql语句 Sqlite3_step(), 在调用sqlite3_prepare后,使用这个函数在记录集中移动. Sqlite3_close(), 关闭数据库文件 还有一

android小功能实现之SQLite数据库的基本操作

 创建一个Android工程 一 新建数据库 1 新建一个类DBOpenHelper 内容如下: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelpe

ios UI数据库 sqlite小型数据库的增、删、改、查、排序

#import "table.h" @implementation table // 1.创建表 每一列之间用',',如果存在就不创建 create table if not exists t_class( class_id integer primary key autoincrement, class_name varchar, person_count integer default 0) // 1.1// 删除表 drop table if exists t_person //

iOS开发数据库SQLite的使用

iOS系统自带Core Data来进行持久化处理,而且Core Data可以使用图形化界面来创建对象,但是Core Data不是关系型数据库,对于Core Data来说比较擅长管理在设备上创建的数据持久化存储用户创建的对象,但是要处理大量的数据时就应该优先选择SQL关系型数据库来存储这些数据. Core Data在后台也是使用SQLite来存储数据的,但是开发人员不能直接访问这些数据,只能通过Core Data提供的API来操作,如果一旦人为的通过SQLite修改这些数据那么使用Core Dat

android SQLite数据库的基本操作

SQLite是Android使用的轻量级的数据库,开发Android应用是对数据库的操作自然是必不可少. Android提供了一个SQLiteOpenHelper类来可以很方便的操作数据库, 继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个方法.        onCreate: 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行.        onUpgrade:当打开数据库时传入的版本号与当前的版本号不同时会调用该方法. 下面是我写的一个SQLi

IOS之数据库Sqlite以及MeasSQlite 软件的使用

IOS之数据库Sqlite以及MeasSQlite 软件的使用 1.数据库简介 需求: 在需要保持大量的结构比较复杂的数据时用 数据库保持 如 交通考试 常用的数据库 (1)Microsoft SQL Server 2000/2008   是 微软Microsoft 推出的关系型数据库管理系统 (2)Oracle  比较复杂 大型企业使用较多 (3)Mysqi   网站使用较多 (4)Sqlite  是一款轻型的数据库,是遵守ACID的关系型数据库管理系统 移动端使用 本地数据库 访问速度快 

IOS 数据库管理系统(SQLite)

嵌入式数据库 SQLite嵌入式数据库优点 1.支持事件,不需要配置,不需要安装,不需要管理员 2.支持发部分SQL92 3.完整的数据库保存在磁盘上面一个文件,同一个数据库文件可以在不同机器上面使用,最大支持数据库到2T 4.整个系统少于3万行,少于250KB的内存占用 Linux系统级的SQLite技术实现框架libsqlite3.0.dylib 开始使用SQLite 1.引入<sqlite3.h>头文件 2.打开数据库 3.执行SQL命令 4.关闭数据库 一下代码展示整个数据库的 打开,