0

我有一个使用 sqlite 将图像插入到 android 中的 db 的查询。

String sqlQuerry = "INSERT table_name SET column_name = ?  WHERE pk_id =last_insert_rowid();";

SQLiteStatement insertStmt = sqliteDataBase .compileStatement(sqlQuerry);

insertStmt.clearBindings();

insertStmt.bindBlob(1, byteArray);

insertStmt.execute();

但这显示sqlite 返回:错误代码 = 1,msg = 接近“SET”:语法错误

我怎样才能解决这个问题?

提前致谢

4

3 回答 3

1

-在数据库中存储图像的想法根本不经济。

-最常用的做法将图像存储在某个文件夹中 sdcard,然后使用 path 存储在数据库中的图像访问该图像。

-一旦您访问了pathfrom DB,将其转换为 image

例如:

ImageView imageQuestion;  // Declared at class scope

imageQuestion.setImageBitmap(BitmapFactory.decodeFile(/sdcard/myfolder/viv.png));   
于 2013-01-08T05:08:35.483 回答
0

我认为您的意思是使用UPDATE而不是INSERT.

UPDATE table_name SET column_name = ? WHERE pk_id = last_insert_rowid();
于 2013-01-08T04:58:54.470 回答
0

我建议你不要插入blobs数据库,这会使你的数据库非常慢

替代解决方案是您应该将图像保存在应用程序的文档目录中,并在数据库中仅保存图像的路径。

于 2013-01-08T05:02:23.673 回答