не добавляются записи в базу данных

283
22 августа 2017, 12:06

Добавляю записи в бд таким образом:

public void addMovie(Movie movie){
    ContentValues contentValues = getContentValues(movie);
    mDatabase.insert(MOVIE_TABLE_NAME, null, contentValues);
}

где getContentValues

private static ContentValues getContentValues(Movie movie){
    ContentValues values = new ContentValues();
    values.put(ID, movie.getId());
    values.put(TITLE, movie.getTitle());
    values.put(ORIGINAL_TITLE, movie.getOriginalTitle());
    values.put(ORIGINAL_LANGUAGE, movie.getOriginalLanguage());
    values.put(OVERVIEW, movie.getOverview());
    values.put(BACKDROP_PATH, movie.getBackdropPath());
    values.put(POSTER_PATH, movie.getPosterPath());
    values.put(RELEASE_DATE, movie.getReleaseDate());
    values.put(FIRST_AIR_DATE, movie.getFirstAirDate());
    values.put(LAST_AIR_DATE, movie.getLastAirDate());
    values.put(RUNTIME, movie.getRuntime());
    values.put(STATUS, movie.getStatus());
    values.put(NUMBER_OF_EPISODE, movie.getNumbersOfEpisodes());
    values.put(NUMBER_OF_SEASONS, movie.getNumberOfSeasons());
    values.put(BUDGET, movie.getBudget());
    values.put(REVENUE, movie.getRevenue());
    values.put(VOTE_AVERAGE, movie.getVoteAverage());
    values.put(VOTE_COUNT, movie.getVoteCount());
    values.put(POPULARITY, movie.getPopularity());
    return values;
}

Читаю данные с бд так:

   public List<Movie> getMovies(){
        List<Movie> movies = new ArrayList<>();
        MovieCursorWrapper cursor = queryMovies(null, null);
        Log.i(TAG, "Record count " + cursor.getCount());
        try {
            cursor.moveToFirst();
            while (!cursor.isAfterLast()){
                movies.add(cursor.getMovie());
                cursor.moveToNext();
            }
        }finally {
            cursor.close();
        }
        return movies;
    }

В результате получаю, что записи не добавляются.

UPD: Выяснилось что записи таки идут.Проблема с чтением.Курсор возвращает 0 записей.

UPD 1 Метод queryMovies:

private MovieCursorWrapper queryMovies(String whereClause, String[] whereArg){
    Cursor cursor = mDatabase.query(
            MOVIE_TABLE_NAME,
                        null,
                        whereClause + "= ?",
                        whereArg,
                        null,
                        null,
                        null
    );
    return new MovieCursorWrapper(cursor);
}

Метод используется в двух местах, в проверке - существует ли такой фильм или нет и в просто чтении без либо каких аргументов.

READ ALSO
Jsoup doc.select - как определить первое слово

Jsoup doc.select - как определить первое слово

Нужно из #mrp получить число 101, что-то типа

272
HibernateException: No Session found for current thread

HibernateException: No Session found for current thread

Всем привет, я попытался создать проект в котором можно создать себе аккаунт и потом усуществлять все возможные операции CRUD над класом Product...

270
Геттеры, сеттеры и инкапсуляция

Геттеры, сеттеры и инкапсуляция

ОкейС самого первого знакомства с инкапсуляцией и её свойствами сокрытия данных, для меня остается непонятным один момент: поля класса, помеченные...

349
Как разделить строку по знаку через .split?

Как разделить строку по знаку через .split?

Пытаюсь разделить строку по пайпу, почитал, как это все делается, но не могу понять, что не такНе работает

228