Проблема с БД в андроиде - PullRequest
1 голос
/ 13 июня 2011

У меня в приложении есть соединение с БД. Я использовал следующий код:

 db = openOrCreateDatabase(
            "highscore.db"
            , SQLiteDatabase.CREATE_IF_NECESSARY
            , null
            );

        db.setVersion(1);
        final String CREATE_TABLE_HIGHSCORE =
            "CREATE TABLE HIGHSCOREDETAILS ("
            + "NAME TEXT,"
            + "SCORE INTEGER);";
        db.execSQL(CREATE_TABLE_HIGHSCORE);

, но когда я запускаю приложение во второй раз, он зависает ... отображается ошибка

 06-13 16:35:51.552: ERROR/AndroidRuntime(1398): Caused by: android.database.sqlite.SQLiteException: table HIGHSCOREDETAILS already exists: CREATE TABLE HIGHSCOREDETAILS (NAME TEXT,SCORE INTEGER);

И я также хочу получить наибольшее значение в столбце оценки. Это первый раз, когда я работаю с подключением к БД ... поэтому, пожалуйста, помогите мне ... заранее спасибо

Ответы [ 2 ]

1 голос
/ 13 июня 2011

Измените ваш запрос на:

CREATE TABLE IF NOT EXISTS HIGHSCOREDETAILS (

Чтобы получить наибольшее значение, используйте это:

SELECT MAX(SCORE) FROM HIGHSCOREDETAILS
0 голосов
/ 13 июня 2011

Исключение говорит о том, что таблица HIGHSCOREDETAILS уже существует.Если вы обновляете БД, проверьте, не удалила ли эта таблица ранее

...