Android SQLite异常错误1
我的应用程序中有一个SQLite错误,看起来很简单,但我不知道如何解决它,也不知道是什么原因造成的。我试着修复它,但没有成功,当然,这就是我来这里的原因。任何帮助都将不胜感激 Java代码:Android SQLite异常错误1,android,sqlite,Android,Sqlite,我的应用程序中有一个SQLite错误,看起来很简单,但我不知道如何解决它,也不知道是什么原因造成的。我试着修复它,但没有成功,当然,这就是我来这里的原因。任何帮助都将不胜感激 Java代码: public HashMap<String, String> getProfileDetails(String pid, String email){ HashMap<String,String> profile = new HashMap<String,Str
public HashMap<String, String> getProfileDetails(String pid, String email){
HashMap<String,String> profile = new HashMap<String,String>();
String selectQuery = "SELECT * FROM " + TABLE_FAVOURITE_PROFILES + " WHERE " + KEY_PID + " = "
+ pid + " AND " + KEY_USER_EMAIL + " = " + email;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// Moves to first row
cursor.moveToFirst();
if(cursor.getCount() > 0){
profile.put("pid", cursor.getString(1));
profile.put("petname", cursor.getString(2));
profile.put("pettype", cursor.getString(3));
profile.put("email", cursor.getString(4));
profile.put("username", cursor.getString(5));
}
cursor.close();
db.close();
// returns user
return profile;
}
提前感谢。字符串必须用单引号括起来。
那么这个,
+ pid + " AND " + KEY_USER_EMAIL + " = " + email;
必须是:
+ pid + " AND " + KEY_USER_EMAIL + " = '" + email + "'";
更好的是,您可以绑定参数:
String selectQuery = "SELECT * FROM " + TABLE_FAVOURITE_PROFILES + " WHERE " + KEY_PID + " = ? AND " + KEY_USER_EMAIL + " = ?";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[]{"" + pid, email});
字符串必须用单引号括起来。
那么这个,
+ pid + " AND " + KEY_USER_EMAIL + " = " + email;
必须是:
+ pid + " AND " + KEY_USER_EMAIL + " = '" + email + "'";
更好的是,您可以绑定参数:
String selectQuery = "SELECT * FROM " + TABLE_FAVOURITE_PROFILES + " WHERE " + KEY_PID + " = ? AND " + KEY_USER_EMAIL + " = ?";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[]{"" + pid, email});
字符串必须用单引号括起来。
那么这个,
+ pid + " AND " + KEY_USER_EMAIL + " = " + email;
必须是:
+ pid + " AND " + KEY_USER_EMAIL + " = '" + email + "'";
更好的是,您可以绑定参数:
String selectQuery = "SELECT * FROM " + TABLE_FAVOURITE_PROFILES + " WHERE " + KEY_PID + " = ? AND " + KEY_USER_EMAIL + " = ?";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[]{"" + pid, email});
字符串必须用单引号括起来。
那么这个,
+ pid + " AND " + KEY_USER_EMAIL + " = " + email;
必须是:
+ pid + " AND " + KEY_USER_EMAIL + " = '" + email + "'";
更好的是,您可以绑定参数:
String selectQuery = "SELECT * FROM " + TABLE_FAVOURITE_PROFILES + " WHERE " + KEY_PID + " = ? AND " + KEY_USER_EMAIL + " = ?";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[]{"" + pid, email});
哈哈,这真是太简单了,太愚蠢了,在我发布问题之前,我一直在尝试,但我没有做对,不管怎样,现在它工作得很好,谢谢!如果有帮助的话,请不要忘记接受我的答案并投赞成票……;)哈哈,这很简单,多么愚蠢,在我发布问题之前,我一直在尝试我的方式添加引号,但我没有做对,不管怎样,现在它运行良好,谢谢!如果有帮助的话,请不要忘记接受我的答案并投赞成票……;)哈哈,这很简单,多么愚蠢,在我发布问题之前,我一直在尝试我的方式添加引号,但我没有做对,不管怎样,现在它运行良好,谢谢!如果有帮助的话,请不要忘记接受我的答案并投赞成票……;)哈哈,这很简单,多么愚蠢,在我发布问题之前,我一直在尝试我的方式添加引号,但我没有做对,不管怎样,现在它运行良好,谢谢!如果有帮助的话,请不要忘记接受我的答案并投赞成票……;)