samedi 10 octobre 2015

Android database using ORMLITE sqlite

I have used sqlite database using ormlite.I have declared primary key in database as follows:In database i fetch the values and display in listview. when i delete some entry.in list view..primary key goes on increasing values.

@DatabaseField(generatedId = true,columnName = "teacher_id")
        int teacherid;   

     try {
                                Toast.makeText(DetailListView.this, "Delete entry", Toast.LENGTH_LONG).show();
                                DeleteBuilder<TeacherDetails, Integer> deleteBuilder=teacherDao.deleteBuilder();
                                deleteBuilder.where().eq("teacher_address", set.teacheraddress);
                                deleteBuilder.delete();
                                stud_list = teacherDao.queryForAll();
                                //adapter = new UsersAdapter(DetailListView.this, stud_list);
                               // list.setAdapter(adapter);
                                list.invalidate();
                                teacherDao.executeRaw("delete from sqlite_sequence where name='teacher_details';");
                            } catch (SQLException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

//code for creating db.

@Override
    public void onCreate   (SQLiteDatabase sqliteDatabase,      ConnectionSource      connectionSource) {
    try {


        TableUtils.createTable(connectionSource, TeacherDetails.class);
        TableUtils.createTable(connectionSource, StudentDetails.class);

    } catch (SQLException e) {
        Log.e(DatabaseHelper.class.getName(), "Unable to create datbases", e);
    }
}

   @Override
   public void onUpgrade(SQLiteDatabase sqliteDatabase, ConnectionSource   connectionSource, int oldVer, int newVer) {
    try {



        TableUtils.dropTable(connectionSource, TeacherDetails.class, true);
        TableUtils.dropTable(connectionSource, StudentDetails.class, true);
        onCreate(sqliteDatabase, connectionSource);

    } catch (SQLException e) {
        Log.e(DatabaseHelper.class.getName(), "Unable to upgrade database from version " + oldVer + " to new "
                + newVer, e);
    }
}

For example before delete 1)primary key :1 2)primary key:2(if i delete this values) 3)primary key:3

After delete 1)primary key:1 2)primary key:3(not start with primary key value 2) 3)primary key 4

This is my requirement

Aucun commentaire:

Enregistrer un commentaire