我在将 blob 插入 sqlite 数据库时遇到问题。我正在开发ios,所以它是objective-c。
计划:
我正在按下一个按钮,照片选择器打开,我正在选择一张照片,我正在触摸另一个按钮,照片作为 blob 保存在数据库中。
一切工作正常,只有插入不。我已经将 int 和 strings 插入 db 并且它工作正常,但是 blob 让我发疯。
我正在使用的代码:
我有一门课,里面有所有的数据库方法。它称为分贝。我得到了一个使用 db-object 的类。
DB级:
-(void)insertblob:(NSData *)blob stmt:(NSString *)blobStmnt {
const char *sql = [blobStmnt UTF8String];
sqlite3_prepare_v2(database, sql, 1, &statement, NULL);
if (SQLITE_DONE != sqlite3_step(statement)) {
NSLog(@"Error while inserting data. '%s'", sqlite3_errmsg(database));
}
sqlite3_bind_blob(statement, 1, [blob bytes], [blob length], SQLITE_TRANSIENT);
}
使用类:
[database openDB:@"Content"]
updateStmt = [NSString stringWithFormat:@"UPDATE Face SET image =%@", image];
[database insertblob:imageData stmt:updateStmt];
[database closeDB];
那么我错过了什么?我从我的更新语句中收到错误,即在“U”处插入已经失败。但我真的不知道我必须改变什么。
在此先感谢您的帮助!