关于操作数据库增删改查

来源:互联网 发布:linux中复制命令 编辑:程序博客网 时间:2024/06/10 19:10


public class NotesDao {
    DBHelper helper ;
    private static  final String tableName = "notes" ;

    public NotesDao(Context c)
    {
        //实例化Helper对象
        helper = new DBHelper(c);
    }
 //查询所有的方法
    public ArrayList<Notes> selectAll()
    {
        ArrayList<Notes> notes = new ArrayList<>();
        //获得一个只读的SQLiteDatabase对象
        SQLiteDatabase db = helper.getReadableDatabase();
        //执行查询操作
        Cursor c = db.query(tableName,null,null,null,null,null,null);
        //遍历游标
        while(c.moveToNext())
        {

            String id = c.getString(c.getColumnIndex("id"));
            String title = c.getString(c.getColumnIndex("title"));
            String savadate = c.getString(c.getColumnIndex("savadate"));
            String content = c.getString(c.getColumnIndex("content"));

            Notes note = new Notes(id,title,savadate,content);
            notes.add(note);
        }
        //释放资源
        c.close();
        db.close();
        return notes ;
    }
 //添加的方法
    public long insert(Notes note)
    {
        //获得可读写SQLiteDatabase对象
        SQLiteDatabase db =  helper.getWritableDatabase();
        ContentValues values = note.cover2ContentValue();
 //执行添加的操作
        long rowId = db.insert(tableName,null,values);
        //释放资源
        db.close();
        return rowId ;
    }
 //删除的方法
    public int deleteById(String id)
    {
        //获得可读写SQLiteDatabase对象
        SQLiteDatabase db =  helper.getWritableDatabase();
        //执行删除的操作
        int rows = db.delete(tableName,"id=?",new String[]{id});
        //释放资源
        db.close();
        return rows;
    }
 //修改的方法
    public int update(Notes note)
    {
        //获得可读写SQLiteDatabase对象
        SQLiteDatabase db =  helper.getWritableDatabase();
        ContentValues values = note.cover2ContentValue();
        //执行修改的操作
        int rows = db.update(tableName,values,"id=?",new String[]{note.getId()});
        db.close();
        return  rows ;
    }
 //根据id查询的方法
    public Notes selectById(String id)
    {
        //获得只读SQLiteDatabase对象
        SQLiteDatabase db =  helper.getReadableDatabase();
        //执行根据id查询的操作
        Cursor c = db.query(tableName,null,"id=?",new String[]{id+""},null,null,null,null);
        //获得数据
        if(c.moveToFirst())
        {
            String title = c.getString(c.getColumnIndex("title"));
            String savadate = c.getString(c.getColumnIndex("savadate"));
            String content = c.getString(c.getColumnIndex("content"));

            Notes note = new Notes(id,title,savadate,content);
            return  note ;
        }
        c.close();
        db.close();

        return  null ;

    }
}

0 0
原创粉丝点击