从EditText在SQlite中插入数据
代码在我从模拟器中删除数据之前运行良好现在它给了我Null Pointer Exception,请说明实际问题所在。感谢
Data is being inserted from here ]
public long insert(String name, String password, String role, String unique) {
sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_USERNAME, name);
contentValues.put(KEY_PASSWORD, password);
contentValues.put(KEY_ROLE, role);
contentValues.put(KEY_UNIQUE, unique);
long result = sqLiteDatabase.insert(DOCTOR_TABLE,
null,
contentValues);
sqLiteDatabase.close();
return result;
}
答案 0 :(得分:0)
好。这是显而易见的。 正如您所提到的,您已经擦除了数据,因此位于Android应用程序自己的数据文件夹中的表也将被删除。所以你必须检查它是否存在。
调用以使表返回null。
所以你把你的价值插入到任何东西。
因此,您可以更改代码以查看表是否存在以及是否创建表。
基本上你只是打电话,
CREATE TABLE IF NOT EXISTS
method(SQLite 3.3及更高版本支持IF NOT EXISTS)。当您第一次调用它时,如果不存在,它将创建该表,但稍后它将返回具有相同名称的现有表。
在一行中 - 在进行任何操作之前检查或获取正确的表格。