我從我的sqlite數據庫中選擇數據。我的問題是,當在數據庫中有撇號(例如「我是約翰」),我嘗試選擇數據,然後我的應用程序崩潰。Android - 崩潰時,我有數據庫中的撇號和選擇數據
如果我在數據庫中沒有撇號,那麼一切都是正確的。
我的選擇數據功能:
String query = "SELECT * FROM " + mainCollumn + " WHERE used=0 " + " AND season <= " + seasons + " ORDER BY RANDOM() LIMIT " + count ;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
if(cursor.moveToFirst()){
do {
Question question = new Question(Integer.parseInt(cursor.getString(0)),
cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5),
Integer.parseInt(cursor.getString(6)));
questionList.add(question);
}while(cursor.moveToNext());
}
感謝您的幫助。
需要更多信息。你有日誌或調試器輸出? – Ralgha
使用'?'和'selectionArg'參數可以解決這個問題:'db.rawQuery(query,new String [] {seasons})''。 **也**這不是必須的:'Integer.parseInt(cursor.getString(0))',只需使用:'cursor.getInt(0)'。 – Sam