我试图在现有的SQLite数据库中添加一个新行,但由于某种原因它似乎没有这样做。我已创建此方法以将行插入表中:
public void insertToTable(ArrayList<String> courseAttributes, ArrayList<String> attributeValues){
ContentValues cv = new ContentValues();
for (int i = 0 ; i < courseAttributes.size() ; i++){
cv.put(courseAttributes.get(i), attributeValues.get(i));
}
coursesDataBase.insert("courses", null, cv);
}
其中 courseAttributes 是表格中所有列的arraylist, attributeValues 是我尝试添加的行的相应值的arraylist, coursesDataBase 是SQLiteDatabase,“ courses ”是此数据库中表的名称。我在调试器上运行它时没有出现任何错误,但它不会将新行存储在数据库中。我在以下开放和关闭方法之间从另一个类调用该方法:
public void openDataBase() throws SQLException{
//Open the database
String myPath = DB_PATH + DB_NAME;
coursesDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
}
和
@Override
public synchronized void close() {
if(coursesDataBase != null)
coursesDataBase.close();
super.close();
}