Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 列索引超出范围异常_Android_Sqlite - Fatal编程技术网

Android 列索引超出范围异常

Android 列索引超出范围异常,android,sqlite,Android,Sqlite,我想从名称(KEY\u CUSTOMER\u name)与给定名称匹配的表中获取id。 表中包含三个列键客户ID、键客户名称、键客户性别 我的问题 db.rawQuery("SELECT id FROM " +TABLE_NAME +" where name = '"+names+"'", null); 它运行良好…但我想使用android中使用的sqlite查询方法来执行它 db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, KEY

我想从名称(KEY\u CUSTOMER\u name)与给定名称匹配的表中获取id。 表中包含三个列键客户ID、键客户名称、键客户性别

我的问题

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);
但它显示超出范围的异常。

试试这个

db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, "KEY_CUSTOMER_NAME =?", new String[] { String.valueOf(names) }, null, null, null);
其中KEY\u CUSTOMER\u NAME应该是表的列名

,请这样尝试

db.query(TABLE_NAME, new String[]{ KEY_CUSTOMER_ID }, KEY_CUSTOMER_NAME+" = "+new String[] { String.valueOf(names) }, null, null, null, null);
这应该起作用:

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

KEY\u CUSTOMER\u NAME
=>
KEY\u CUSTOMER\u NAME+“=?”
什么是
KEY\u CUSTOMER\u ID
KEY\u CUSTOMER\u NAME
NAME
?谢谢……它起作用了……空间问题。@selvin但主要问题是空间问题。。。