连接 iPhone 的sqlite数据库的一段代码例子(转)
原帖地址 http://www.cocoachina.com/bbs/read.php?tid-24840.html相信在N多应用中要涉及数据库操作,下面这段连接 iPhone 自带的 sqllite 数据库的代码由 CocoaChina 会员 “mahui” 分享,原帖地址 http://www.cocoachina.com/bbs/read.php?tid-24840.htmlsqlite3 *database;NSArray *paths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = ;NSString *strPaths =;if (sqlite3_open(, &database) != SQLITE_OK) {sqlite3_close(database);NSAssert(0, @"Failed to open databse");}NSString *createSQL = @"CREATE TABLE IF NOT EXISTS FIELDS (ROW INTEGER PRIMARY KEY, FIELD_DATA TEXT)";if(sqlite3_exec(database, , NULL, NULL, &errorMsg) != SQLITE_OK){sqlite3_close(database);NSAssert1(1, @"Error create table :%s", errorMsg);}NSString *query = @"SELECT ROW ,FIELD_DATA FROM FIELDS ORDER BY ROW";sqlite3_stmt *statement;if(sqlite3_prepare_v2(database, , -1, &statement, nil) == SQLITE_OK){while (sqlite3_step(statement) == SQLITE_ROW) {int row = sqlite3_column_int(statement, 0);char *rowData = (char *)sqlite3_column_text(statement, 1);NSString *fieldName = [ initWithFormat:@"field%d", row];NSString *fieldValue = [ initWithUTF8String:rowData];UITextField *field = ;field.text = fieldValue;;//;;}sqlite3_finalize (statement);}sqllite存在沙盒内,所以打开的时候不需要name和password,但由于字符的格式不用,所以需要通过,来转换。sqlite3_prepare_v2(database, , -1, &statement, nil),这是执行sql语句的命令。statement记录状态。sqlite3_column_*(statement, 0);返回字段值sqlite3_finalize (statement);结束退出
页:
[1]