我有一些數據寫入數據庫(三個字符串); 我有一個私有類DBHelper延伸SQLiteOpenHelper 和我有數據庫= dbHelper.getWritableDatabase(); 當我做dataBase.insert()我有一個nullPointerException。NullPointerException當我插入數據庫(android)
我檢查了我的數據在debuger中寫入,它們不等於null;
DBHelper:
public void writeDataToDB(ArrayList<Person> arrayList) {
contentValues = new ContentValues();
dbHelper = new DBHelper(activity.getApplicationContext());
dataBase = dbHelper.getWritableDatabase();
for (int i = 0; i < arrayList.size(); i++) {
contentValues.put(PERSON_KEY, arrayList.get(i).getKey());
contentValues.put(GROUPPPS, arrayList.get(i).getGroup());
contentValues.put(IMPORTANCE, String.valueOf(arrayList.get(i).isImportant()));
Log.e("writeDataToDB", "Start inserting " + contentValues.toString());
long rowID = dataBase.insert(NAME_OF_TABLE, null, contentValues);
Log.e("writeDataToDB - ", "Value inserted, rowID = " + rowID);
contentValues.clear();
}
}
而且在我的方法,我有例外,在行: 長ROWID = dataBase.insert(NAME_OF_TABLE,空
private class DBHelper extends SQLiteOpenHelper { //for write and read data from DB
static final String GROUPPS = "groupps";
static final String IMPORTANCE = "importance";
static final String NAME_OF_TABLE = "Person";
static final String PERSON_KEY = "perskey";
private static final String MY_QUERY = "CREATE TABLE " + NAME_OF_TABLE + " (" +
PERSON_KEY + " TEXT, " +
GROUPPPS + " TEXT, " +
IMPORTANCE + " TEXT);";
public DBHelper(Context context) {
// constructor of superclass
super(context, "MyDBB", null, 2);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d("", "--- onCreate database ---");
db.execSQL(MY_QUERY);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
我對數據庫的寫數據的方法,contentValues);
和rowID = -1這意味着 - 錯誤的東西;
和我的logcat:
Error inserting groupp=Withoutgroup importance=false perskey=0r2-2B43414D272B4D16
android.database.sqlite.SQLiteException: table Persons has no column named groupp: , while compiling: INSERT INTO Persons(groupp,importance,perskey) VALUES (?,?,?)
它確實是一個問題thx的幫助..但現在我有另一個問題))).. – Vetalll
我將所有GROUP更名爲GROUPPS(測試); 現在我有另一個問題(我改變了我的文章LogCat)。 但我的查詢有這一列... – Vetalll
我解決了我的問題.. 問題它是一個保留關鍵字「SQLite組」。然後我在模擬器上添加了舊的DataBase .. thx爲你提供幫助。 – Vetalll