我的光標返回記錄兩次,即使我設置了不同的爲true:顯示不同記錄的SQLite的Android
回報myDataBase.query(真,DB_TABLE,新的String [] { 「ROWID作爲_id」,KEY_CONDITIONS },builder.toString(),症狀,null,null,null,null);
僅供參考,
public Cursor getData(String[] symptoms) {
String where = KEY_SYMPTOMS + "= ?";
String orStr = " OR ";
StringBuilder builder = new StringBuilder(where);
for(int i = 1; i < symptoms.length; i++)
builder.append(orStr).append(where);
return myDataBase.query(true, DB_TABLE, new String[]
{"rowid as _id", KEY_CONDITIONS}, builder.toString(), symptoms, null, null, null, null);
}
或者我試圖改變rawQuery
return myDataBase.rawQuery("SELECT DISTINCT " + KEY_CONDITIONS + " FROM "
+ DB_TABLE + " " + builder.toString() + symptoms.toString(), null);
我logcat的說:
03-02 22:57:02.634: E/AndroidRuntime(333): FATAL EXCEPTION: main
03-02 22:57:02.634: E/AndroidRuntime(333): android.database.sqlite.SQLiteException: near "=": syntax error: , while compiling: SELECT DISTINCT conditions FROM tblSymptoms symptoms= ? OR symptoms= ?[Ljava.lang.String;@405550f8
請幫我鑑定一下似乎缺少在這裏。任何幫助是真正的讚賞。
很明顯,我想要明確的條件。請參閱我的更新文章關於我的表記錄 – 2013-03-02 15:10:44
我試圖在SQLite瀏覽器中執行此查詢:選擇DISTINCT條件FROM tblsymptoms其中症狀='胸部疼痛'或症狀='頭暈'它顯示不同的條件。我想知道爲什麼它不顯示在Android中獨特? – 2013-03-02 15:21:45
您正在使用哪個查詢?你嘗試了上面的'rawQuery()'嗎? query()失敗,因爲它的SQL等價物是:'select DISTINCT(rowid,conditions)FROM tblsymptoms where ...'。注意區別? – Sam 2013-03-02 15:27:48