2014-01-23 27 views
1

我在android中使用SQLite数据库。我需要根据某些条件更新记录。但是有多条记录符合条件,因此所有记录都得到更新。我只需要更新最后一个。请帮帮我。如何仅更新android中SQLite数据库的最后一个记录?

在此先感谢

这里是我的代码

public void UPDATE_INVOICE(int invoice_id,int owner_id,int vehicle_id,String invoice_date,String invoice_time,String dest,String distance,String validity_date, int qty,String local_var) 
{ 
     SQLiteDatabase db=getWritableDatabase(); 

      ContentValues values = new ContentValues(); 
      values.put(INVOICE_NUMBER, invoice_id); 

      values.put(INVOICE_DATE, invoice_date); 
      values.put(INVOICE_TIME, invoice_time); 


      values.put(INVOICE_VALIDITY_DATE, validity_date); 
      values.put(INVOICE_QTY, qty); 
      values.put(INVOICE_LOCAL, local_var); 

      db.update(TABLE_INVOICE_DETAILS, values, INVOICE_OWNER_ID_REF+"="+owner_id+" and "+INVOICE_VEHICLE_ID_REF+"="+vehicle_id, new String[]{}); 


     } 
+0

哪里是你的代码? – GrIsHu

+3

将行添加到数据库的时间再添加一列到数据库。现在你将有一个唯一的关键字来识别所有最后插入的行... –

+0

好的。我会试试看 – Snehal

回答

0

如果其他人会发现问题,那么可能的答案是:

update table1 set last_accessed_dt = datetime('now') where _id = (SELECT MAX(_id) FROM table1); 
相关问题