2012-04-28 4 views
0

임 버튼 클릭으로 전체 테이블을 삭제하는 방법을 알아 내려고 그래서 내가 삭제라는 버튼이 있다고 말하면 그것을 누르고 테이블의 모든 것을 삭제하고 싶습니다.테이블에있는 모든 것을 삭제하는 방법

package f.s.l; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 

public class HotOrNot { 
public static final String KEY_ROWID ="_id"; 
public static final String KEY_NAME ="persons_name"; 
public static final String KEY_HOTNESS ="persons_hotness"; 

private static final String DATABASE_NAME ="HotOrNotdb"; 
private static final String DATABASE_TABLE ="peopleTable"; 
private static final int DATABASE_VERSION =1; 

private DbHelper ourHelper; 
private final Context ourContext; 
private SQLiteDatabase ourDatabase; 

private static class DbHelper extends SQLiteOpenHelper{ 

public DbHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + 
     KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
     KEY_NAME + " TEXT NOT NULL, " + 
     KEY_HOTNESS + " TEXT NOT NULL);" 
    ); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE); 
    onCreate(db); 
} 
} 

public HotOrNot(Context c){ 
    ourContext =c; 
} 

public HotOrNot open() throws SQLException { 
    ourHelper = new DbHelper(ourContext); 
    ourDatabase = ourHelper.getWritableDatabase(); 
    return this; 
} 

public void close(){ 
    ourHelper.close(); 
} 

public long createEntry(String name, String hotness) { 
    // TODO Auto-generated method stub 
    ContentValues cv = new ContentValues(); 
    cv.put(KEY_NAME, name); 
    cv.put(KEY_HOTNESS, hotness); 
    return ourDatabase.insert(DATABASE_TABLE, null, cv); 
} 

public String getData() { 
    // TODO Auto-generated method stub 
    String [] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_HOTNESS}; 
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null); 
    String result = ""; 

    int iRow = c.getColumnIndex(KEY_ROWID); 
    int iName = c.getColumnIndex(KEY_NAME); 
    int iHotness = c.getColumnIndex(KEY_HOTNESS); 

    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 
     result = result + c.getString(iRow) + " "+ c.getString(iName) + " " + c.getString(iHotness) + "\n"; 
} 

return result; 
} 

} 
+0

을 삭제해야한다 생각합니다. – Sam

답변

3

당신은 그냥 할 수

db.execSQL("DELETE * FROM " + DATABASE_TABLE); 

이는 제거되지 않습니다 : KNO

void deleteAll() 
{ 
    SQLiteDatabase db= ourHelper.getWritableDatabase(); 
    db.delete(DATABASE_TABLE, null, null); 
} 

코드 버튼에 넣어 wwhat
나는이 시도하지만 내가 일부러 일을 일부러 테이블에있는 모든 행을 삭제합니다. 드롭 테이블 명령을 사용하여

+4

'DELETE FROM tablename;이 정확해야합니다. [DELETE] (http://www.sqlite.org/lang_delete.html)에는'* '가 없습니다. – zapl

0

시도, 난 그것이 당신의 로그 캣 오류를 게시하시기 바랍니다 테이블을

관련 문제