【发布时间】:2018-11-12 10:44:23
【问题描述】:
当我尝试执行“SearchPass”时,logcat 中出现SQLiteLog: (1) no such column 错误。请问我的查询有什么错误?
Logcat:
06-02 13:33:17.168 2971-2971/com.example.pc.myapplication E/SQLiteLog: (1) no such column: nometprenom
06-02 13:33:17.169 2971-2971/com.example.pc.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.pc.myapplication, PID: 2971
android.database.sqlite.SQLiteException: no such column: nometprenom (code 1): , while compiling: select nometprenom , motdepasse fromcontacts
searchPass 方法:
public String searchPass (String nometprenom) {
db = this.getReadableDatabase();
String query = "select nometprenom , motdepasse from"+TABlE_NAME;
Cursor cursor = db.rawQuery(query,null);
String a,b;
b= "not found";
if (cursor.moveToFirst())
{
do {
a = cursor.getString(0);
if (a.equals(nometprenom)) {
b = cursor.getString(1);
break;
}
}
while (cursor.moveToNext());
}
return b;
}
contact.java 类:
public class Contact {
int id ;
String nometprenom , motdepasse, cin ;
public void setId (int id) {
this.id=id;
}
public int getId() {
return this.id ;
}
public void setnometprenom (String nometprenom) {
this.nometprenom=nometprenom;
}
public String getnometprenom () {
return this.nometprenom ;
}
public void setcin (String cin) {
this.cin=cin;
}
public String getcin () {
return this.cin ;
}
public void setmotdepasse (String motdepasse) {
this.motdepasse=motdepasse;
}
public String getmotdepasse () {
return this.motdepasse ;
}
【问题讨论】:
-
表名前加空格(
from后) -
注意查询执行
select nometprenom , motdepasse fromcontacts- 你看到from和contacts之间没有空格 -
正确的查询是:String query = "select nometprenom , motdepasse from " +TABlE_NAME;谢谢@DanielM
标签: java xml sqlite android-sqlite