【发布时间】:2014-09-18 05:03:20
【问题描述】:
我尝试使用此代码从以blob 格式存储的数据库中检索图像
但是这个方法不起作用,每当调用这个方法时我的应用程序就会崩溃
那么如何从数据库中检索字节或位图格式的图像。
因为我想用那个imageswitcher
我的 logcat 显示
07-26 18:12:51.253: E/string1(15682): --Hatheesingh jain temple
07-26 18:12:51.844: E/SQLiteLog(15682): (1) near "jain": syntax error
07-26 18:12:51.884: E/AndroidRuntime(15682): FATAL EXCEPTION: main
07-26 18:12:51.884: E/AndroidRuntime(15682): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.starting.starting/com.starting.starting.detailpage}: android.database.sqlite.SQLiteException: near "jain": syntax error (code 1): , while compiling: SELECT * FROM database WHERE place_name =Hatheesingh jain temple
07-26 18:12:51.884: E/AndroidRuntime(15682): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
07-26 18:12:51.884: E/AndroidRuntime(15682): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
public byte[] get_image(String str){
//openDataBase();
Cursor c1 = checkDB.rawQuery("SELECT * FROM database WHERE place_name =" +str, null);
byte[] img = c1.getBlob(10);
return img;
//CloseDataBase();
}
【问题讨论】:
-
DATABASE 是保留字,也会发布 logcat 异常。
-
LogCat 说什么?
-
你的
database有 11 列吗?发布CREATE声明 -
图片存储在11列,数据库是我的表名
-
(我最初的猜测是你需要在字符串周围加上引号,例如
Cursor c1 = checkDB.rawQuery("SELECT * FROM database WHERE place_name = '" + str + "'", null);),但这取决于str是什么。另外,正如其他人所说,出现 logcat 输出是有原因的:如果您的应用程序崩溃,请发布异常详细信息,事情会变得更加清晰。
标签: android database sqlite blob