我在创建有效的sql查询时遇到了问题。sqlite查询中的字符无效?
我试图检查一个值,title
是否存在于我的分贝。
这是我的适配器类中创建查询的方法。
public Cursor byTitle(String title) throws SQLException {
Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {
KEY_URL
},
"title" + "=" +title,
null,
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
而且随着
holder.fb.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final FDBAdapter db = new FDBAdapter(ctx);
title = holder.itemName.getText().toString();
db.open();
Cursor c = db.byTitle(title);
if (c.getCount()>0) {
while (c.moveToNext()) {
Toast.makeText(ctx, "yup! " + c.getString(0), Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(ctx, "nope! " + holder.itemName.getText().toString(), Toast.LENGTH_LONG).show();
}
c.close();
db.close();
}
});
我的错误它称为onClick的是 android.database.sqlite.SQLiteException: near "Rootz": syntax error: , while compiling: SELECT DISTINCT url FROM favs WHERE title=[Guide] Rootz Wiki's List of ROMs/Kernels/Tweaks/Theme's/Radios LTE Edition
我试图把引号title
像"\""+title+"\""
但是,这不是为我工作无论是。我怎样才能使这个有效的数据库查询?
这样做。谢谢。你能向我解释这个问题吗?什么=?表示?这是检查它的存在吗? – r2DoesInc 2012-01-11 18:18:19
问号表示该值将在selectionArgs中给出,而不是客栈选择本身。你可以聚集在一起吗?并给他们在选择Args – nandeesh 2012-01-11 18:24:37
其实我错了,我打错了代码,它只是每次都返回负面。用你的代码示例,它不是有效的java。 我的'title'是一个字符串。 [指南] Rootz Wiki的ROMs/Kernels/Tweaks/Theme's/Radios LTE Edition列表,并被多次声明为String – r2DoesInc 2012-01-11 18:31:14