Я работаю над приложением для Android и использую Sqlite db, и я создал несколько методов для добавления таблиц и вставки, и все они работают правильно, кроме двух методов
первый - это методы обновлениязначение поля 1
public void UnlockNextLevel(String lvlname ,int num){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(SchemClass.LetsCode2.COLUMN_NAME_LEVELSTATUS,num);
db.update(SchemClass.LetsCode2.SECOND_TABLE ,cv, SchemClass.LetsCode2.COLUMN_NAME_LevelName +" = "+lvlname,null );
}
, и когда я его запускаю, это вызывает исключение времени выполнения
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.a96653.LetsCode, PID: 3392
android.database.sqlite.SQLiteException: no such column: Ploto (code 1 SQLITE_ERROR): , while compiling: UPDATE LEVEL SET LevelStatus=? WHERE LevelName = Ploto
Другой метод - метод выбора из db:
public int returnQuestionAnswer (int Qnum){
SQLiteDatabase db = this.getWritableDatabase();
int lnum=100;
String query = "SELECT "+SchemClass.LetsCode2.COLUMN_NAME_QANSWER +" FROM "+SchemClass.LetsCode2.TABLE_AUESTION +" WHERE "+SchemClass.LetsCode2.COLUMN_NAME_QNUM +" = "+Qnum;
Cursor recordSet=db.rawQuery(query,null);
recordSet.moveToFirst();
while (!recordSet.isAfterLast()){
lnum=recordSet.getInt(recordSet.getColumnIndex(SchemClass.LetsCode2.COLUMN_NAME_QANSWER));
}
db.close();
return lnum;
}
Когда я хочу отобразить целочисленное значение в textView, это вызывает исключение времени выполнения
Последнее исключение, которое я не смог опубликовать, поэтому я опубликую его здесь:
java.lang.NullPointerException: Attempt to invoke virtual method
'java.io.File android.content.Context.getDatabasePath(java.lang.String)'
on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2843)