【发布时间】:2019-01-30 23:11:05
【问题描述】:
我正在开发 android 应用程序,我正在使用 Sqlite db,我创建了一堆方法来添加表和插入,除了 2 个方法之外,它们都可以正常工作
第一个是将字段的值更新为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
另一种方法是从数据库中选择方法:
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)
【问题讨论】:
-
最后一个异常我无法发布所以我会在这里发布 java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.content.Context.getDatabasePath (java.lang.String)' 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2843) 处的空对象引用上