2010-05-12 8 views
0

제 질문은 매우 간단합니다. 나는 각각의 ID를 가지고 x 행을 말할 수있는 테이블을 가지고있다. 그러나 나는 얼마나 많은 행을 가지고 있는지 모른다. 이제 내 테이블의 마지막 행을 어떤 이유로 든 삭제하고 싶습니다 ... 안드로이드에서 쉽게 할 수 있습니까? 나는 내 where 절에서 last_insert_rowid를 사용하려고 노력해 왔지만 ... 지금까지는 행운이 없다 ... 안드로이드의 sqlite 데이터베이스 도구로 할 수있는 아이디어가 있습니까?테이블의 마지막 행을 삭제하십시오.

+1

당신은 테이블 레이아웃이나 데이터베이스 테이블에 대해 이야기하고 있습니까? – RoflcoptrException

+0

데이터베이스 테이블, HTML 테이블 또는 TableLayout을 사용하고 계십니까? – RoToRa

+0

ups 미안, 그건 내 머리에 claer했다. 데이터베이스, sqlite 데이터베이스 – Sephy

답변

6

나는 last_insert_rowid가 당신이 db에 대해 말하는 것을 의미한다고 가정합니다.

DELETE FROM test WHERE id = (SELECT MAX(id) FROM test); 
+0

가 작동하는 것 같습니다. 감사 – Sephy

-1

나는이 게시물을 보았고 누구든지 동일한 문제가 있다면 도움을 줄 수 있다고 생각합니다.

내가 한 것은 내 커서를 마지막 행으로 가져와 ID가 검색된 것입니다. 은 db.delete 쿼리 문자열로 바꿨습니다.

당신은 데이터베이스에 하나 개의 행을 가질 수 있지만, ID 내가 Contract 클래스를 사용

이 희망 (단지 안드로이드 dev에 웹 사이트처럼) BaseColumns을 구현 더 내 응용 프로그램 1.

다음이 될 수 있어요 도움 ^^

//go to the last row 
cursor.moveToLast(); 

//get the index ID of the last row 
int lastItemId = cursor.getInt(cursor.getColumnIndex(ShiftsContract.Entry.COLUMN_NAME_ID)); 

//turn it into a string 
String slastItemId = String.valueOf(lastItemId); 

//define the column from which you want to delete 
String where = ShiftsContract.Entry.COLUMN_NAME_ID + "=?"; 

//from the selected column delete the retrieved ID 
String[] args = {slastItemId}; 

db.delete(ShiftsContract.Entry.TABLE_NAME, where, args); 
관련 문제