任何人都可以解释这段代码如何将数据插入数据库?

时间:2017-06-24 13:31:35

标签: android sqlite android-sqlite

有人可以向我解释这段代码是如何工作的,以及我如何将这些数据插入数据库?我Java两个Java文件。第一段代码位于第一个Java文件中,第二段位于第二个Java文件中。为什么我传递以下参数ImageID,currentDay,v.getID。然后当我调用insertNewRoutine函数时,它使用参数int activityResourceID,String day和int slot?对于它为什么使用它感到困惑?提前感谢!

boolean routineInserted = myDb.insertNewRoutine(ImageID, currentDay, v.getId());
                if (routineInserted == true) {
                    Toast.makeText(MondayRoutineEdit.this, "Activity Inserted", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(MondayRoutineEdit.this, "Activity Not Inserted", Toast.LENGTH_LONG).show();
                }

public boolean insertNewRoutine(int activityResourceID, String day, int slot)

{
    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL("DELETE FROM " + RoutineTable + " WHERE DayID ='" + day + "' AND SlotID =" + slot);
    ContentValues contentValues = new ContentValues();
    contentValues.put(RoutineColumn2, day);
    contentValues.put(RoutineColumn3, activityResourceID);
    contentValues.put(RoutineColumn4, slot);
    long result = db.insert(RoutineTable, null, contentValues);
    if (result == -1)
        return false;
    else
        return true;
}

1 个答案:

答案 0 :(得分:0)

ContentValues contentValues = new ContentValues();
contentValues.put(RoutineColumn2, day);
contentValues.put(RoutineColumn3, activityResourceID);
contentValues.put(RoutineColumn4, slot);
long result = db.insert(RoutineTable, null, contentValues);

您使用函数参数填充内容值(它们将作为VALUES插入到sql中)。

此方法调用负责插入。

  

SQLiteDatabase.class公开了管理SQLite数据库的方法。

参考官方的android文档

https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String,%20java.lang.String,%20android.content.ContentValues)