我是使用SQLite数据库和Android移动开发的新手。我试图检查编辑文本字段输入的用户名是否存在于数据库中。当我运行它并单击按钮时,应用程序崩溃。这是我的代码。
public boolean findUsername(String username) {
Cursor c = ourDatabase.query(true, DATABASE_TABLE_L, new String[] {
KEY_USERID, KEY_USERNAME, KEY_PASSWORD,KEY_SECRETQ,KEY_ANSWER}, KEY_USERNAME + "="
+ username, null, null, null, null, null);
if (c != null) {
return true;
}
return false;
}
}
日志猫的错误说明:
no such column: bobby: , while compiling: SELECT DISTINCT userId, username, password, secretQ, answer FROM Login WHERE username=bobby
我做错了什么?
答案 0 :(得分:3)
你应该像这样形成你的查询
SELECT DISTINCT userId, username, password, secretQ, answer FROM Login WHERE username='bobby'
您必须为用户名添加引号。
Cursor c = ourDatabase.query(true, DATABASE_TABLE_L, new String[] {
KEY_USERID, KEY_USERNAME, KEY_PASSWORD,KEY_SECRETQ,KEY_ANSWER}, KEY_USERNAME + "='"
+ username +"'", null, null, null, null, null);
尝试以上。
答案 1 :(得分:2)
Cursor c = ourDatabase.query(true, DATABASE_TABLE_L, new String[] {
KEY_USERID, KEY_USERNAME, KEY_PASSWORD,KEY_SECRETQ,KEY_ANSWER}, KEY_USERNAME + "=?",
username, null, null, null, null);
答案 2 :(得分:1)
试试这个。
Cursor C = ourDatabase.query(DATABASE_TABLE_L, new String[] {
KEY_USERID}, KEY_USERNAME + "= ?" , new String[] {username}, null, null,null);