IOS Sqlite的使用方法
发布日期:2021-05-14 19:09:01 浏览次数:21 分类:精选文章

本文共 3464 字,大约阅读时间需要 11 分钟。

Sqlite���������

Sqlite������������������������������������������������������
1���������������C���������������������������libsqlite3���������������C������������
2������iOS������������C���������������������������������
3���Sqlite������������������������������������������������������������������������������������������������

iOS���������Sqlite���������

1���������������������������sqlite3_open()������������������
2���������Sql������������������������������
3���������������������������

������������������libsqlite3���������

���libsqlite3.0.dylib���libsqlite3.dylib���������������
libsqlite3.0.dylib������������������������libsqlite3.dylib������������������������������libsqlite3.0.dylib���������������������Sqlite3������������������Sqlite3������������������������������libsqlite3.0.dylib���������������������������

���������������

//���������������������
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documents = [paths objectAtIndex:0];

//������������������������

NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];

//���������������������������������������������������������

if (sqlite3_open([database_path UTF8String], &db) == SQLITE_OK) {
return YES;
}else{
return NO;
NSLog(@���������������������������);
sqlite3_close(db);
}

������������������������

������Sql������

11.���������������

-(void)createDB{

//sql ������
NSString *sqlCreateTable = [NSString stringWithFormat:@���CREATE TABLE IF NOT EXISTS '%@' ('%@' INTEGER PRIMARY KEY AUTOINCREMENT, '%@' TEXT, '%@' INTEGER, '%@' TEXT)���, TABLENAME, ID, NAME, AGE, ADDRESS];
[self execSql:sqlCreateTable];
}

-(void) insertData{

NSString *insertSql1= [NSString stringWithFormat:
@���INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')������
_TABLENAME, NAME, AGE, ADDRESS, @������������, @���13���, @������������];
[self execSql:insertSql1];

NSString *insertSql2 = [NSString stringWithFormat:

@���INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')������
_TABLENAME, NAME, AGE, ADDRESS, @������������, @���12���, @������������];
[self execSql:insertSql2];
}

-(void) updateData{

NSString *updateSql = [NSString stringWithFormat:
@���UPDATE '%@' SET '%@' = '%@' WHERE '%@' = '%@'������
_TABLENAME, AGE, @���15��� ,AGE, @���13���];
[self execSql:updateSql];
}

-(void) deleteData{

NSString *sdeleteSql = [NSString stringWithFormat:
@���delete from %@ where %@ = '%@'������
_TABLENAME, NAME, @������������];
[self execSql:sdeleteSql];
}

-(void)execSql:(NSString *)sql{

if ([self openDB]) {
char *err;
if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
NSLog(@������������������������������!���);
}else{
NSLog(@���%@������sql);
}
sqlite3_close(db);
}
}

22.���������������

-(void) selectData{
[self openDB];
NSString *sqlQuery = [NSString stringWithFormat:
@���SELECT * FROM %@", _TABLENAME];
sqlite3_stmt * statement;
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 *nsNameStr = [[NSString alloc)initWithUTF8String:name];
int age = sqlite3_column_int(statement, 2);
char address = (char)sqlite3_column_text(statement, 3);
NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
NSLog(@���name:%@ age:%d address:%@������nsNameStr, age, nsAddressStr);
}
} else {
NSLog(@���select error:%@������sqlQuery);
}
sqlite3_close(db);
}

上一篇:sqlite各函数详解
下一篇:ARC

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月02日 07时42分07秒