SQLite3
来源:互联网 发布:网络机顶盒怎么设置 编辑:程序博客网 时间:2024/05/21 14:48
.分别导入头文件和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;
0 0
- sqlite3
- sqlite3
- sqlite3
- sqlite3
- sqlite3
- sqlite3
- SQLite3
- Sqlite3
- Sqlite3
- sqlite3
- Sqlite3
- sqlite3
- sqlite3
- sqlite3
- SQlite3
- sqlite3
- sqlite3
- sqlite3
- Dijkstra求单源最短路径
- Win10开发:Toast通知之模板解析
- 面试题36:从1到n整数中1出现的次数
- 使用Camera SurfaceView预览出现图案形变等问题解决总结
- P1004 滑雪(DFS)
- SQLite3
- 【Android实战】图片选取、拍摄、裁剪、上传
- 大数据学习
- 简单dp(codeforce #336(c)补题
- 关于<您需要来自S-1-5-21-XXXXXXXXXXX 的权限>的错误解决方法
- 18-6
- 【splay】BZOJ 1152 && 3506:[cqoi2014]排序机械臂
- Intel大战高通、三星:结果瞠目结舌!
- Servlet基础