????4> SQLite??
????????????????
????sqlite3_open() ?????????·????????????????????????????μ?????????result ??????? SQLITE_OK????????????????
????sqlite3 *db; db ?????????????????
??????????????·???????? C???????????????NSString??????
1    // ???????????????????????????????????????????????????????
2     static sqlite3 *db = nil;
3
4     // ??????????int??????????
5     // ???????????self.dbPath??????????洢·??
6     // ?????????????????????????????????
7
8     int result = sqlite3_open([self.dbPath UTF8String]?? &db);
9
10     // result????????????к???????
11     if (result == SQLITE_OK) {
12         NSLog(@"?????????");
13     } else {
14         NSLog(@"?????????");
15     }
????????????sqlite3_close(db);
????1     int result = sqlite3_close(db);
????2
????3     if (result == SQLITE_OK) {
????4         NSLog(@"?????????");
????5     } else {
????6         NSLog(@"??????????");
????7     }
???????sql???
????sqlite3_exec() ????????κ?SQL??????紴???????????????????????????????????в??????????????????????????
????????

??????????ü??????????????
??????????
1     // ???????Person?????Σ?uid integer???????? ???? ????????name text?????gender text?????age integer????
2     NSString *createStr = @"create table if not exists person(uid integer primary key autoincrement not null?? name text?? gender text?? age integer)";
3     /*
4      int SQLITE_STDCALL sqlite3_exec(
5         sqlite3*??
6         const char *sql??
7         int (*callback)(void*??int??char**??char**)??
8         void *??
9         char **errmsg
10         );
11      */
12
13     // ????????????????
14     // ???????????sql?????????б???
15     // ??????????????????????????
16     // ???????????????????????????
17     // ??????????????????
18     int result = sqlite3_exec(db?? [createStr UTF8String]?? NULL?? NULL?? NULL);
19
20     if (result == SQLITE_OK) {
21         NSLog(@"????????");
22     } else {
23         NSLog(@"?????????");
24     }
????????????
1     // ??values?????????????????????????棬???????????????
2     NSString *insertStr = @"insert into person(name?? gender?? age) values(??? ??? ?)";
3
4     // ???????
5     sqlite3_stmt *stmt = NULL;
6
7     // ???????
8
9     /*
10      int SQLITE_STDCALL sqlite3_prepare(
11         sqlite3 *db??
12         const char *zSql??
13         int nByte??
14         sqlite3_stmt **ppStmt??
15         const char **pzTail
16         );
17      */
18     // ?????????db???????
19     // ?????????zSql??sql???
20     // ??????????nByte?????????????????磺1???????????????????????????????????????