日期:2014-05-16  浏览次数:20503 次

Android开发—数据库应用—访问数据表(SQLite OpenHelper) —删除数据

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:数据库应用—删除数据

* 作 者: 雷恒鑫
* 完成日期: 2012 年 08 月 14 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:

* 程序头部的注释结束

*/

“添加数据”这个问题,可以再拆解成两个部分的程序代码来看:

*在“NotesDbAdapter”类中定义删除数据的函数(Create)

*在“DummyNote”类中添加菜单,允许删除一条数据

 

 

在“NotesDbAdapter”类中定义删除数据的函数如下:

//remove an entry
	public boolean delete(long rowID){
		return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowID,null)>0;
	}


 

在“DummyNote”类中添加菜单,删除选择到数据项的程序代码片段如下:

 private int mNoteNumber = 1;
    protected static final int MENU_INSERT = Menu.FIRST;
    protected static final int MENU_DELETE = Menu.FIRST+1;
    protected static final int MENU_MODIFY = Menu.FIRST+1;
    
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		super.onCreateOptionsMenu(menu);
		menu.add(0, MENU_INSERT, 0, "新增记事");
		menu.add(0, MENU_DELETE, 0,  "删除记事");
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub
		switch(item.getItemId()) {
        	case MENU_INSERT:
        		String noteName = "Note " + mNoteNumber++;
        		mDbHelper.create(noteName);
        		fillData();
        		return true;
        	case MENU_DELETE:
                mDbHelper.delete(getListView().getSelectedItemId());
                fillData();
                return true;
		}
		return super.onOptionsItemSelected(item);
	}