四种数据存储方式(下)

3.sqlite3

打开数据库:

sqlite3 *database;

int result = sqlite3_open([pathString UTF8String],&database);

关闭数据库 

sqilte3_close(database);

创建新表

char *errorMsg;

congest char *createSQL = "create table if not exists people (ID integer primary key, name text)";

int result = sqlite3_exec(database,createSQL,NULL,NULL,&errorMsg);

查询设置

NSString *query = @"SELECT ROW, FIELD_DATA FROM FIELDS ORDER BY ROW";

sqlite3_stmt = statement;

if(sqlite3_prepare_v2(database, [query UTF8String],

-1, &statement, nil) == SQLITE_OK){

while(sqlite3_step(statement == SQLITE_OK){

int row = sqlite3_column_int(statement, 0);

char *rowData = (char *)sqlite3_column_text(statement, 1);

NSString *fieldValue = [[NSString alloc]

initWithUTF8String:rowData];

((UITextField *)self.lineFields[row]).text = fieldValue;

}

sqlite3_finalize(statement);

}

增:

sqlite3_stmt *statement = nil;

NSString *sql = [NSString stringWithFormat:@"INSERT INTO region (id, parent_id, level, region_name, sort) VALUES (\"%d\",\"%d\",\"%d\",\"%@\",\"%d\");",

region.rid, region.parentId, region.level, region.name, region.sort];

sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, NULL);

 sqlite3_step(statement) ;

sqlite3_finalize(statement);

删:

NSString *sql = [NSString stringWithFormat:@"DELETE FROM region WHERE id = \"%d\";", (int)rid];

sqlite3_prepare_v2(database, [sql UTF8String], -1, &statement, NULL);

sqlite3_step(statement) ;

sqlite3_finalize(statement);

批量增改:

char *update = "INSERT OR REPLACE INTO FIELDS (ROW, FIELD_DATA) "

"VALUES (?, ?);";

sqlite3_stmt *stmt;

sqlite3_prepare_v2(database, update, -1, &stmt, nil);

for (int i = 0; i < 4; i++) {

UITextField *field = self.lineFields[i];

sqlite3_reset(stmt);

sqlite3_bind_int(stmt, 1, i);

sqlite3_bind_text(stmt, 2, [field.text UTF8String], -1, NULL);

sqlite3_step(stmt);

}

sqlite3_finalize(stmt);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容