2012-03-16 2 views
1

У меня есть сомнения, которые необходимо уточнить. Как я могу получить последнее значение, вставленное в sqlite DB. Мне нужен код для этого. Я пробовал использовать такой запрос:Как я могу получить последнее значение, вставленное в базу данных sqlite

SELECT uname,umessage,utime FROM chatmessage ORDER BY utime DESC limit 1; 

Где я делаю неправильно ??? Мне нужна помощь в этом вопросе.

Заранее спасибо.

ответ

0

если значение является последним его идентификатор должен быть максимально

вы можете запустить запрос, как этот

c = db.rawQuery("SELECT uname,umessage,utime FROM tablename WHERE " + 
       "Id = (SELECT MAX(Id) FROM tablename); ",null); 

для последнего сообщения по конкретному пользователю добавить столбец идентификатора пользователя в таблице сообщений, как

id | userid | message | utime 


1 | 1 | wlhf | 3:10 

2 | 3 | dfhhfjh | 2:15 

3 | 1 | kjfedhr | 4:00 

4 | 2 | hejhe | 1:15 

5 | 3 | kegekr | 3:30 

6 | 1 | wlhf | 3:10 

7 | 3 | dfhhfjh | 2:15 

8 | 1 | kjfedhr | 4:00 

9 | 2 | hejhe | 1:15 

10 | 3 | kegekr | 3:30 




c = db.rawQuery(" 
select message from table1 where 


userid = 1 ; ",null); 




recieve like 



ArrayList<String> listMessg = new ArrayList<String>(); 



cursor = dbm.columnValueofCourse(); 
     cursor.moveToFirst(); 
     startManagingCursor(cursor); 

for (int i = 0; i < cursor.getCount(); i++) { 

    reciv = cursor.getString(cursor 
        .getColumnIndex("message")); 
listMessg.add(reciv_Par); 
} 

int sizeoflist = listMessg.size(); 

because in ascending order , the last index 
of array list will be the last message of the user 

System.out.println("THE LAST MESSAGE BY USER IS " + listMessg.et(sizeoflist -1)); 
+0

замечательный ответ .. Большое спасибо. хорошо работал. У меня также есть еще одно сомнение. Мне нужно получить последнее сообщение, отправленное отдельным приятелем. как я могу это получить. Используя приведенный выше код, я могу получить последнее значение, вставленное в sqlite. Точно так же мне нужно получить последнее значение (сообщение), отправленное индивидуальным приятелем. может у, пожалуйста, помогите мне в этом вопросе. Спасибо – user1265623

+0

@ user1265623 Я не знаю, как вы обрабатываете свою базу данных для пользователя, но я могу предложить одну вещь, если у вас есть идентификатор пользователя, сделайте ее столбцом в таблице сообщений и запросом огня на основе этого и получите его в массиве , последний индекс будет иметь последнее сообщение от этого пользователя –

+0

Я не понимаю, что вы говорите. Можете у упростить и рассказать мне запрос, который мне нужно дать. – user1265623

1

SQLiteDatabase возвращает идентификатор вставленной строки. Вы можете вспомнить этот идентификатор в некоторой ценности и использовать его.

long lastId = db.insert(......); 
Смежные вопросы