<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                SQLite ([http://www.sqlite.org/docs.html](http://www.sqlite.org/docs.html)) 是一個輕量級的關系數據庫。SQLite最初的設計目標是用于嵌入式系統,它占用資源非常少,在嵌入式設備中,只需要幾百K的內存就夠了,目前應用于Android、iOS、Windows Phone等智能手機。iOS 使用時SQLite,只需要加入 libsqlite3.dylib 依賴以及引入 sqlite3.h 頭文件即可。 數據庫操作包含打開數據庫、創建表,表的增、刪、改、查。下面代碼給出了數據庫操作。 創建并打開數據庫: ~~~ -(BOOL) openDB{ //獲取數據庫路徑 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSString *database_path = [documents stringByAppendingPathComponent:DBNAME]; //如果數據庫存在,則用sqlite3_open直接打開(不要擔心,如果數據庫不存在sqlite3_open會自動創建) //打開數據庫,這里的[path UTF8String]是將NSString轉換為C字符串,因為SQLite3是采用可移植的C(而不是 //Objective-C)編寫的,它不知道什么是NSString. if (sqlite3_open([database_path UTF8String], &db) == SQLITE_OK) { return YES; }else{ return NO; NSLog(@"數據庫打開失敗"); sqlite3_close(db); } } ~~~ iOS中沒有提供創建數據庫的命令,當使用sqlite3_open時,如果數據庫文件不存在會自行創建數據庫,如果存在會打開數據庫。打開數據庫后就可以創建表并操作表內容了,iOS中的sqlite3使用sqlite3_exec來創建表、插入表內容、修改表內容、刪除表內容等操作,使用sqlite3_prepare_v2來查詢表。下面給給出了sqlite3_exec的封裝: ~~~ -(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); } } ~~~ 創建表: ~~~ 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) 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); } ~~~ 好了,這就是全部了,iOS中數據庫操作的類封裝的并不太好用,希望大家盡量封裝自己的類,。 [Demo下載](http://download.csdn.net/detail/xyz_lmn/5751891) ![](https://box.kancloud.cn/2016-01-14_569725c526ffc.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看