詳解iPhone串連Sqlite資料庫 執行個體操作

來源:互聯網
上載者:User

詳解iPhone串連Sqlite資料庫 執行個體操作是本文要介紹的內容,主要是以代碼實現,來講述了一些iPhone串連Sqlite資料庫的代碼,來看詳細內容。

相信在N多應用中要涉及資料庫操作

 
  1. sqlite3 *database;  
  2. NSArray *paths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  3. NSString *documentsDirectory = [paths objectAtIndex:0];  
  4. NSString *strPaths =  [documentsDirectory stringByAppendingPathComponent:kFilename];  
  5. if (sqlite3_open([strPaths UTF8String], &database) != SQLITE_OK) {  
  6.         sqlite3_close(database);  
  7.         NSAssert(0, @"Failed to open databse");  
  8.     }  
  9. NSString *createSQL = @"CREATE TABLE IF NOT EXISTS FIELDS (ROW INTEGER PRIMARY KEY, FIELD_DATA TEXT)";  
  10. if(sqlite3_exec(database, [createSQL UTF8String], NULL, NULL, &errorMsg) != SQLITE_OK){  
  11.         sqlite3_close(database);  
  12.         NSAssert1(1, @"Error create table :%s", errorMsg);  
  13.     }  
  14. NSString *query = @"SELECT ROW ,FIELD_DATA FROM FIELDS ORDER BY ROW";  
  15. sqlite3_stmt *statement;  
  16.  
  17. if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK){  
  18.         while (sqlite3_step(statement) == SQLITE_ROW) {  
  19.             int row = sqlite3_column_int(statement, 0);  
  20.             char *rowData = (char *)sqlite3_column_text(statement, 1);  
  21.               
  22.             NSString *fieldName = [[NSString alloc] initWithFormat:@"field%d", row];  
  23.             NSString *fieldValue = [[NSString alloc] initWithUTF8String:rowData];  
  24.               
  25.             UITextField *field = [self valueForKey:fieldName];  
  26.             field.text = fieldValue;  
  27.             [fieldName release];  
  28.             //[fieldName release];  
  29.             [fieldValue release];  
  30.         }  
  31.           
  32.         sqlite3_finalize (statement);  
  33.     } 

sqllite存在沙箱內,所以開啟的時候不需要name和password,但由於字元的格式不用,所以需要通過,[nsString, UTF8String]來轉換。

 
  1. sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil),這是執行sql語句的命令。statement選項組。  
  2.  
  3. sqlite3_column_*(statement, 0);返回欄位值  
  4.  
  5. sqlite3_finalize (statement);結束退出 

小結:詳解iPhone串連Sqlite資料庫 執行個體操作的內容介紹完了,希望本文對你有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.