列索引超出范围异常

时间:2013-07-01 09:50:17

标签: android sqlite

我想从名称(KEY_CUSTOMER_NAME)与给定名称匹配的表中获取ID。 表包含三个颜色KEY_CUSTOMER_ID,KEY_CUSTOMER_NAME,KEY_CUSTOMER_GENDER

我的查询

db.rawQuery("SELECT id FROM " +TABLE_NAME +" where name = '"+names+"'", null);  

它运行良好...但我想使用android

中使用的sqlite的查询方法来执行它
db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, KEY_CUSTOMER_NAME, new String[] {    String.valueOf(names) }, null, null, null);

但它显示超出范围异常。

3 个答案:

答案 0 :(得分:1)

这应该有效:

db.query(TABLE_NAME, new String[] { KEY_CUSTOMER_ID, KEY_CUSTOMER_NAME  }, KEY_CUSTOMER_NAME + "=?",new String[] { String.valueOf(id) }, null, null, null, null);

答案 1 :(得分:0)

尝试这个

db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, "KEY_CUSTOMER_NAME =?", new String[] { String.valueOf(names) }, null, null, null);

KEY_CUSTOMER_NAME应为表格的列名

答案 2 :(得分:0)

试试这样。

db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, KEY_CUSTOMER_NAME+" = "+new String[] { String.valueOf(names) }, null, null, null, null);