Search code examples
androidsqlitecursor

How to put non Duplicate values in SQLite & Access?


My Create table Query is:--

     String CREATE_LOGIN_TABLE ="CREATE TABLE IF NOT EXIST "+ TABLE_FORWARDMSG +"("+KEY_ID+ " INTEGER PRIMARY KEY AUTOINCREMENT,"+KEY_MSG_BODY+ " TEXT UNIQUE,"+KEY_MSG_ADDRESS+" TEXT UNIQUE,"+KEY_MSG_DATE+" TEXT UNIQUE" +")";

and I am access values From This Code:---

String selectQuery="SELECT * FROM "+TABLE_FORWARDMSG;
     SQLiteDatabase db=this.getReadableDatabase();
 Cursor cursor=db.rawQuery(selectQuery, null);
  if( cursor.moveToFirst()){

        for(int i=0;i<cursor.getCount();i++){
            map.put("msgBody", cursor.getString(1));
            map.put("msgAddress", cursor.getString(2));
            map.put("msgDate", cursor.getString(3));
            user.add(map);
            cursor.moveToNext();

        }

       }
        cursor.close();
        db.close();

Now My Problem is that:----

If I remove UNIQUE from the CREATE TABLE Then I get all duplicate values means if I insert same value it create new row, and if I am using UNIQUE in CREATE TABLE, then every time cur.getCount() value is 1. I am new in SQLite. Please tell me whats the problem.


Solution

  • Your code looks like Ok. Maybe you shouldn't make KEY_MSG_DATE like UNIQUE. Try to get more info about what you want to do.