在光标线上发生此错误。
Error:
Caused by: android.database.sqlite.SQLiteException: near ")": syntax
error: , while compiling: SELECT value FROM system WHERE (name= ) ORDER BY name
光标如下所示:
Cursor c = getContentResolver().query(Uri.parse("content://settings/system"),
values, "name=", fields, "name");
if (c != null) {
c.moveToFirst();
long lvalue = c.getLong(0);
if (lvalue > 0) {
m_ScreenSaverDelay = lvalue;
}
答案 0 :(得分:3)
试试这个:
Cursor c = getContentResolver().query(Uri.parse("content://settings/system"), values, "name= '"+ theNameyouArelookingFor +"'", fields, "name");
您的查询应评估为:
SELECT value FROM system WHERE (name='ThenameYouAreLookingFor') ORDER BY name
答案 1 :(得分:3)
您可以在选择中包含?,它将被值替换 来自selectionArgs,按它们在选择中出现的顺序排列。 这些值将绑定为字符串。
因此,请尝试使用"name=?s"
代替"name="
,最终将评估为等同于
"name=\"" + fields[0] + "\""
(在此示例中不会引用数据输入,而数据库引擎将完成(或应)。