SQLite3

.分别导入头文件和libsqlite3.dylib框架
?
1
#import <sqlite3.h>

2.创建数据库句柄

?
1
     sqlite3 *db;

3.用创建的句柄创建或打开数据库

?
1
2
3
4
5
6
7
     //打开数据库
     if  (sqlite3_open([daPath UTF8String], &db) != SQLITE_OK) {
         sqlite3_close(db);
         NSLog(@ "打开错误" );
     } else {
         NSLog(@ "ok" );
     }

4.数据表操作方法

?
1
2
3
4
5
6
7
8
9
- ( void )execSql:(NSString *)sql{
     char  *err = nil;
     if  (sqlite3_exec(db, [sql UTF8String], nil, nil, &err) != SQLITE_OK) {
         sqlite3_close(db);
         NSLog(@ "%@ err:%s" , sql, err);
     } else  {
         NSLog(@ "%@ ok" , sql);
     }
}

5.创建数据表

?
1
2
3
4
-( void )createOrOpenTable{
     NSString *sqlCreateTable = @ "CREATE TABLE IF NOT EXISTS Students (ID INTEGER PRIMARY KEY AUTOINCREMENT, name varchar(20), age INTEGER, school varchar(40))" ;
     [self execSql:sqlCreateTable];
}

6.在数据表中插入新数据

?
1
2
3
4
5
6
- ( void )insertAValueWithName:(NSString *)aName andAge:(NSInteger)anAge andSchool:(NSString *)aSchool{
     NSString *sql1 = [NSString stringWithFormat:
                       @ "INSERT INTO Students (name, age, school) VALUES ('%@', '%d', '%@')"
                       , aName, anAge, aSchool];
     [self execSql:sql1];
}

7.获取数据表中的数据

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
- (NSMutableArray *)getPersons{
     NSString *sqlQuery = @ "select * from Students" ;
     sqlite3_stmt *statement;
     
     NSMutableArray *personArray = [NSMutableArray array];
 
     if  (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
         while  (sqlite3_step(statement) == SQLITE_ROW) {
             char  *name = ( char  *)sqlite3_column_text(statement, 1);
             NSString *nameString = [NSString stringWithUTF8String:name];
             
             int  age = sqlite3_column_int(statement, 2);
             
             char  *school = ( char  *)sqlite3_column_text(statement, 3);
             NSString *schoolString = [NSString stringWithUTF8String:school];
             Person *per = [[Person alloc] initWithName:nameString andAge:age andSchool:schoolString];
             
             [personArray addObject:per];
         }
     } else {
         NSLog(@ "打开失败" );
     }
 
     return  personArray;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值