2017-03-06 89 views
-3

我面对的错误是android.database.sqlite.SQLiteException:近 “答案”:语法错误(代码1):在编译:SELECT * FROM联系人那里ANS答案

android.database .sqlite.SQLiteException:接近“答案”:语法错误 (代码1),编译时:SELECT * from联系人答案。

public Cursor getData() { 
     SQLiteDatabase db = this.getReadableDatabase(); 
     Cursor res = db.rawQuery("SELECT * from contacts where ans " + CONTACTS_COLUMN_ANS, null); 
     return res; 
+0

目前尚不清楚您想从数据库中选择什么。无论如何,你的SQL查询无效 –

回答

1

如果你的功能是正确的,然后整顿查询。缺少设置=的标志。

您可以

Cursor res = db.rawQuery("SELECT * FROM "+ contacts + " WHERE " + ans + " = '"+ CONTACTS_COLUMN_ANS +"'" , null); 
+1

@Rotwang okay sir –

0

试试这个,

public Cursor getData() 
    { 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor res = db.rawQuery("SELECT * FROM "+ contacts + " WHERE " + ans + " = '"+ CONTACTS_COLUMN_ANS +"'" , null); 
    return res; 
    } 
0

更新与此

public Cursor getData() { 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor res = db.rawQuery("SELECT * from contacts where ans='" +CONTACTS_COLUMN_ANS + "'", null); 
    return res; 
} 
1

您的代码,你可以使用像..

String[] params = new String[]{ contact_no }; 
Cursor c = db.rawQuery("SELECT * FROM contacts WHERE ans = ?", 
        params); 
+0

这是避免使用字符串数组的int和text值出错的最佳选择之一 –

相关问题