//db칼럼
MyDBHelper mHelper;
SQLiteDatabase db;
Cursor cursor;
MyCursorAdapter myAdapter;
final static String KEY_ID = "_id";
final static String KEY_NAME = "name";
final static String KEY_NUMBER = "number";
final static String TABLE_NAME = "mytable";
final static String querySelectAll = String.format( "SELECT * FROM %s", TABLE_NAME );
//어댑터 추가
ListView list = (ListView) findViewById( R.id.lv_list );
mHelper = new MyDBHelper(this);
db = mHelper.getWritableDatabase();
cursor = db.rawQuery( querySelectAll, null );
myAdapter = new MyCursorAdapter (this, cursor);
list.setAdapter( myAdapter );
list.setOnItemLongClickListener(onItemLongClickEvent);
//dbhelper
class MyDBHelper extends SQLiteOpenHelper {
public MyDBHelper(Context context) {
super(context, "MyData.db", null, 2);
}
public void onCreate(SQLiteDatabase db) {
// AUTOINCREMENT 속성 사용 시 PRIMARY KEY로 지정한다.
String query = String.format("CREATE TABLE %s ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT, " + "%s TEXT, "
+ "%s TEXT );", TABLE_NAME, KEY_NAME, KEY_NUMBER);
db.execSQL(query);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = String.format("DROP TABLE IF EXISTS %s", TABLE_NAME);
db.execSQL(query);
onCreate(db);
}
//롱클릭시 삭제
OnItemLongClickListener onItemLongClickEvent = new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Builder builder = new AlertDialog.Builder(Receiver.this);
builder.setMessage("삭제 하시겠습니까?");
builder.setPositiveButton("취소", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setNegativeButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
SQLiteDatabase db=null;
if(db==null){
db=openOrCreateDatabase("MyData.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
}
String query="DELETE FROM mytable WHERE _id= " + KEY_ID;
db.execSQL(query); -->이 부분 쿼리 수정좀 부탁드리겠습니다.
cursor = db.rawQuery( querySelectAll, null );
myAdapter.changeCursor( cursor );
if(db != null){
db.close();
}
}
});
builder.show();
return false;
}
};
추가는 잘되는데 삭제가 안되네요... 삭제방법좀 부탁드리겠습니다.(커서랑 몇몇부분은 뺐습니다.글자제한때문에 ㅠ)