2012-07-13 50 views
2

我在android中使用sqlite,我通过传递多个where子句获取结果,这给我一个错误。 Single where子句适用于我的问题是使用multiple where子句。 建议我修改或识别错误,我做的请Android的SQLite查询与多个其中

错误消息的查询

ERROR/AndroidRuntime(837): Caused by: android.database.sqlite.SQLiteException: 
no such column: Maharashtra:,while compiling: SELECT _id, r_shop FROM retailer 
WHERE r_state = Maharashtra AND r_city = Thane AND r_region = Checknaka 

String selection = MySQLiteHelper.STATE + " = Maharashtra" 
       +" AND " + MySQLiteHelper.CITY + " = Thane" 
       +" AND " + MySQLiteHelper.REGION + " = Checknaka"; 

     Cursor cursor = database.query(MySQLiteHelper.RETAILER_TABLE, 
        new String[] {MySQLiteHelper.COLUMN_ID, MySQLiteHelper.SHOP }, selection, 
        null, null, null, null); 

回答

10
String selection = MySQLiteHelper.STATE + " = 'Maharashtra'" 
      +" AND " + MySQLiteHelper.CITY + " = 'Thane'" 
      +" AND " + MySQLiteHelper.REGION + " = 'Checknaka'"; 

    Cursor cursor = database.query(MySQLiteHelper.RETAILER_TABLE, 
       new String[] {MySQLiteHelper.COLUMN_ID, MySQLiteHelper.SHOP }, selection, 
       null, null, null, null); 

可能的原因是,你是指的字符串不''

+0

-Nunu谢谢你的工作.. – Sumit 2012-07-13 07:46:37

+0

好,不要忘记接受答案:) – Nermeen 2012-07-13 07:57:28

+0

_Nunu我还有1个问题是我在where子句中传递的字符串也应该忽略区分大小写。我该怎么办 – Sumit 2012-07-13 08:23:59