1

既存の 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 で、" course "はこのデータベース内のテーブルの名前です。デバッガーで実行してもエラーは発生しませんが、新しい行はデータベースに保存されません。次の open メソッドと close メソッドの間で、別のクラスからメソッドを呼び出します。

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();

}
4

0 に答える 0