Android 从SQLite数据库检索数据时出错
我正在尝试在我的手机上获取SQLite数据库值。数据在数据库中可用,但此游标类显示数据库中不可用的值。我如何解决这个问题 这是调用函数的Android 从SQLite数据库检索数据时出错,android,Android,我正在尝试在我的手机上获取SQLite数据库值。数据在数据库中可用,但此游标类显示数据库中不可用的值。我如何解决这个问题 这是调用函数的databasehelper String imgname=img_name.getText().toString(); Cursor cursor = db.pname(imgname); if(cursor.getCount()== 0) { Toast.makeText(getApplicationContext(), "Values are n
databasehelper
String imgname=img_name.getText().toString();
Cursor cursor = db.pname(imgname);
if(cursor.getCount()== 0)
{
Toast.makeText(getApplicationContext(), "Values are not available", Toast.LENGTH_SHORT).show();
}
else
{
while (cursor.moveToFirst())
{
Toast.makeText(getApplicationContext(), "name"+cursor.getColumnIndex("name"), Toast.LENGTH_SHORT).show();
}
}
cursor.close();
DatabaseHelpe
r类
public Cursor pname(String imgname) {
String name = imgname.toString();
String sql = "select * from '"+MSG+"' where product='"+name+"'";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(sql, null);
return cursor;
}
我期待我的产品名称。如何修复它?您不应该在单引号中使用
MSG
。您的查询应该是:
select * from tablename where ...
String sql = "select * from "+MSG+" where product='"+name+"'";
tablename
不能用单引号括起来。不清楚您得到了哪些错误MSG
的值是多少?imgname
的值是多少?为什么不直接在查询中使用imgname
,因为该值将与name
相同?您可以将sql
的值注销到Logcat吗?MSG是products,imgname是IMG_20190210_200029.jpg,name是food