Это моя функция для добавления данных:
public boolean addData(String item1, boolean done) throws SQLException {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL2, item1);
cv.put(COL3, done);
long result = db.insert(TABLE_NAME, null, cv );
//if date was inserted incorrectly it will return -1, thus returning false here
if (result == -1) {
return false;
} else {
return true;
}
}
И как я создаю свою базу данных плюс имена столбцов и таблиц:
public static final String DATABASE_NAME = "mylist.db";
public static final String TABLE_NAME = "mylist_data";
public static final String COL1 = "id";
public static final String COL2 = "name";
public static final String COL3 = "isdone";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + "
("+ COL1 +" INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL2 + " TEXT,"
+ COL3 +" BOOLEAN )";
db.execSQL(createTable);
}
При выполнении инструкция вставки возвращает " -1 ", то есть вставка не была завершена. Есть идеи, как сохранить логическое значение в базе данных?
(Проблема действительно связана с логическим значением, поскольку при добавлении комментария вне кода я могу без проблем вставлять значения).