2013-07-01 65 views
-1

我想从名称(KEY_CUSTOMER_NAME)匹配给定名称的表中获取ID。 表包含三个coloumn KEY_CUSTOMER_ID,KEY_CUSTOMER_NAME,KEY_CUSTOMER_GENDER列索引超出范围例外

我的查询

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

其运行良好...但我想用用sqlite的查询方法来执行它的Android

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

但其显示超出范围的例外。

+0

'KEY_CUSTOMER_NAME' =>'KEY_CUSTOMER_NAME +' – Selvin

+0

是什么'KEY_CUSTOMER_ID','KEY_CUSTOMER_NAME'和'names' “=?”? –

+0

谢谢...它的工作...空间问题.. @ Selvin – veronica

回答

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); 
+0

但主要问题是空间... – veronica

0

试试这个

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

凡KEY_CUSTOMER_NAME应该是表

的列名
0

试试看这样。

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