jeudi 4 juin 2015

SQLite Auto Increment in java code not working propperly

my project group and I are running into an unusual error. We are working on an app and use a local database that is created in the JAVA code, we are using Android Studio 2.1.1.1.

Sadly when we create an account it does not auto increment the USER_ID, in fact it always returns value "0" (without the quotation marks) So is there an error in our Cursor? Is there an error in our creation of the SQLite Database? As far as I know an Integer Primary key is by default auto increment.

private static final String TABLE_CREATE_USER =
            "CREATE TABLE " + USER_TABLE + " (" +
                    USER_ID + " INTEGER PRIMARY KEY," +
                    USERNAME + " VARCHAR(200) NULL, " +
                    NAME + " VARCHAR(200) NULL, " +
                    EMAIL + " VARCHAR(200) NULL, " +
                    PHONENUMBER + " VARCHAR(200) NULL, " +
                    BUSINESS + " VARCHAR(200) NULL, " +
                    BIO + " VARCHAR(200) NULL, " +
                    HASSTARTUP + " VARCHAR(200) NULL, " +
                    PASSWORD + " VARCHAR(45) NULL " +
                    ")";
if(!database.isOpen())
            open();

        ContentValues values = new ContentValues();

        String query = "SELECT * FROM user ";
        Cursor cursor = database.rawQuery(query, null);
        count = cursor.getCount();
        count++;

        values.put(DBOpenHelper.getUserId(), count);

        values.put(DBOpenHelper.getUsername(), user.get_AccountName());
        values.put(DBOpenHelper.getBio(), user.get_Bio());
        values.put(DBOpenHelper.getBusiness(), user.get_Businessname());
        values.put(DBOpenHelper.getEmail(), user.get_Email());
        values.put(DBOpenHelper.getPassword(), user.get_Password());
        values.put(DBOpenHelper.getPhonenumber(), user.get_Phonenumber());
        values.put(DBOpenHelper.getName(), user.get_Profilename());
        values.put(DBOpenHelper.getHasstartup(), user.get_hasStartup());

        database.insert(DBOpenHelper.getUserTable(), null, values);

        Log.i("Database", "CREATE SUCCES");

        if(database.isOpen())
            close();

    }

Aucun commentaire:

Enregistrer un commentaire