iOS SQLite數(shù)據(jù)庫存儲時間Two(不使用第三方數(shù)據(jù)庫管理,蘋果原生api)

簡書里面有一個關(guān)于SQLite3 存 時間的文章了,不過我看了覺得還是有很多讓新手模糊的地方,在這里簡單的介紹下。我這里沒有使用任何第三方。蘋果原生。

1.首先,獲取或者說得到一個時間,string或者date 格式。

NSDate *date = [NSDate date];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateStyle:NSDateFormatterMediumStyle];

[formatter setTimeStyle:NSDateFormatterShortStyle];

[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];

NSString *DateTime = [formatter stringFromDate:date];

2.string轉(zhuǎn)換成date格式

NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];

[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSDate *date =[dateFormat dateFromString:strtime];

3.創(chuàng)建數(shù)據(jù)庫&表&字段

static sqlite3 *db = nil;

+(BOOL)openDatabase{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *path = [documentsDirectory stringByAppendingPathComponent:@"數(shù)據(jù)庫名"];

if(sqlite3_open([path UTF8String], &db) != SQLITE_OK) {

sqlite3_close(db);

return NO;

}else{

return YES;

}

}

這個簡書有BUG ,我代碼下邊的復(fù)制不出來了。。。好尷尬。。。


4.創(chuàng)建完成之后,寫入數(shù)據(jù)。

sqlite3_stmt *statement = nil;

BOOL isSuccess? ? ? ? ? = NO ;

const char* sql = "insert INTO 表名 (字段名稱) VALUES(?)";

if(sqlite3_prepare_v2(db, sql, -1, &statement, nil) == SQLITE_OK){

NSAssert1(1, @"Error while creating update statement. '%s'", sqlite3_errmsg(db));

sqlite3_bind_double(statement, 1, [date格式的時間 ? timeIntervalSince1970]);

if(SQLITE_DONE != sqlite3_step(statement))

{

isSuccess = NO;

NSAssert1(1, @"Error while insertAreaInfo. '%s'", sqlite3_errmsg(db));

}else{

isSuccess = YES;

}

sqlite3_finalize(statement);

這樣就寫入完成了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 創(chuàng)建數(shù)據(jù)庫過程需要3個步驟: 1、使用sqlite3_open函數(shù)打開數(shù)據(jù)庫; 2、使用sqlite3_exec函...
    lilinjianshu閱讀 1,101評論 1 1
  • { 24、Sqlite數(shù)據(jù)庫 1、存儲大數(shù)據(jù)量,增刪改查,常見管理系統(tǒng):Oracle、MSSQLServer、DB...
    CYC666閱讀 1,050評論 0 1
  • 將當(dāng)前對時間顯示出來NSDate -> NSSTringNSDate *date = [NSDate date];...
    SlimMan閱讀 939評論 1 2
  • 人在身處逆境時,適應(yīng)環(huán)境的能力實在驚人。人可以忍受不幸,也可以戰(zhàn)勝不幸,因為人有著驚人的潛力,只要立志發(fā)揮它,就一...
    弗利撒閱讀 452評論 0 0
  • 人人心里都是裝著一只小獸,橫沖直撞尋找沖出去的宣泄口,可四處都是血肉墻壁,它只能用銳利的爪去撓,用尖利的牙去撕咬,...
    孔久九吖閱讀 325評論 0 0

友情鏈接更多精彩內(nèi)容