sqlite 각 함수 상세 설명

1.sqlite3_open([database_path UTF8String], &db)
 database_path            , oc  ,    c   。
&db          。

2.sqlite3_prepare_v2
NSString *sqlQuery = [NSString stringWithFormat:
                  @"SELECT * FROM %@",TABLENAME];
sqlite3_stmt * statement;
 if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
   // db        ;[sqlQuery UTF8String]    sql  ;-1  sql    ,   sql        ;&statement:sqlite3_step              ,   null;nil:  sql         。
      while (sqlite3_step(statement) == SQLITE_ROW) {
      //sqlite3_step    sqlite_prepare     。             。          ,         。[         insert、update、delete,     ]
      //SQLITE_ROW        ,              ,  sqlite3_step       。

      char *name = (char*)sqlite3_column_text(statement, 1);
        //sqlite3_column   ,    sqlite3_step      ;      sqlite_prepare   prepared statement     ,             ,    0,     sqlite3_clumn_count()  。

        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);

}

3.sqlite_finalize 소각 sqliteprepare 가 만 든 준비 문 입 니 다.4.sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err)
 db         ;[sql UTF8String]    SQL  ;          ;  void *          ;err&    ,    SQL     NULL

sqlite3_exec 는 이전의 sqlite 3 를 감 쌌 다.prepare(),sqlite3_step,sqlite_finalize, 간단 한 코드 로 여러 개의 sql 문 구 를 실행 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기