[筆記][收集]怎樣用數據庫sqlite3存儲讀取圖片

網友A:

把你的圖片轉換成NSData形式,這是一個例子來添加一行blob數據到數據庫,其中data就是你的圖片 :


NSMutableString *insertSql = [[NSMutableString alloc] initWithString:@"INSERT INTO "];
[insertSql appendString:BLOB];
[insertSql appendString:@" ("];
[insertSql appendString:BLOB_DATA];
[insertSql appendString:@") VALUES(?1)"];
sqlite3_stmt *insert_statement = nil;
sqlite3 *database = 你的數據庫;
if (sqlite3_prepare_v2(database, [insertSql UTF8String], -1, &insert_statement, NULL) == SQLITE_OK) {
    sqlite3_bind_blob(insert_statement, 1, [data bytes], [data length], NULL);
    if(sqlite3_step(insert_statement) != SQLITE_DONE) {
        NSLog(@"Db error %s", sqlite3_errmsg(database));
    }
} else {
    NSLog(@"Db error %s", sqlite3_errmsg(database));
}
sqlite3_finalize(insert_statement);

[insertSql release];


網友B:不推薦圖片存在數據庫。
原因:1。數據庫變大,
2.返回的類佔內存太大。因爲當你要返回100條數據的時候,會佔用太多內存。

推薦,數據庫中存儲圖片的位置和名稱。
圖片存在document目錄下。


網友C:用fmdb更簡單些  ???




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章