我试图在现有的 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是表中所有列的数组列表,attributeValues是我要添加的行的相应值的数组列表,coursesDataBase是 SQLiteDatabase,“课程”是该数据库中表的名称。当我在调试器上运行它时,我没有收到任何错误,但是它不会将新行存储在数据库中。我从另一个类调用该方法,在以下打开和关闭方法之间:
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();
}