数据库的创建以及对数据库的增删改查
2016-08-15 14:36
274 查看
数据库的创建以及对数据库的增删改查
1 新建类继承AQLiteOpenHelper'''public class NewsSQLiteOpenHelper extends SQLiteOpenHelper{ private static final String DB_NAME = "NEWS.DB";//数据库名称 private static final int DB_VERSION = 4;//数据库版本号 public NewsSQLiteOpenHelper(Context context){ super(context,DB_NAME,null,DB_VERSION); } //version 数据库版本号 context 上下文 name数据库名字 public NewsSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } public NewsSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) { super(context, name, factory, version, errorHandler); } @Override public void **onCreate**(SQLiteDatabase db) { //获取创建表格的SQL String netNewsSQL =Constant.NewNewsTable.getCreatNetNewsSQL(); //Z执行SQL db.execSQL(netNewsSQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("drop table "+ Constant.NewNewsTable.TBL_NAME); onCreate(db); }
}”’
在oncreat方法中获取创建表格的SQL,并执行SQL
* 2**创建一个工具类,在工具类中构造方法,使用数据库语言,创建一个数据库**
public static final class NewNewsTable { public static final String TBL_NAME = "NETNEWS"; public static final String COL_ID = "ID"; public static final String COL_TITLE = "TITLE"; public static final String COL_CTIME = "CTIME"; public static final String COL_PICURL = "PICURL"; public static final String COL_URL = "URL"; public static final String COL_DESCRIPTION = "DESCRIPTION"; public static final String COL_NEWSTYPE = "NEWSTYPE"; public static String getCreatNetNewsSQL() { String sql = "CREATE TABLE IF NOT EXISTS " + TBL_NAME + "(" + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COL_TITLE + " VARCHAR(200)," + COL_CTIME + " VARCHAR(50)," + COL_PICURL + " VARCHAR(200)," + COL_URL + " VARCHAR(200)," + COL_DESCRIPTION + " TEXT," + COL_NEWSTYPE + " integer" + ")"; return sql; }'
3 创建一个工具类,提供对数据库的增删改查等一系列操作.
public class NetNewsDao { private NewsSQLiteOpenHelper openHelper; public NetNewsDao(Context mContext){ this.openHelper = new NewsSQLiteOpenHelper(mContext); } public List<NetNews> findNewsByType(int type){ List<NetNews> list = new ArrayList<>(); SQLiteDatabase db = this.openHelper.getReadableDatabase(); Cursor cursor = db.query( Constant.NewNewsTable.TBL_NAME, new String[]{ Constant.NewNewsTable.COL_ID, Constant.NewNewsTable.COL_CTIME, Constant.NewNewsTable.COL_DESCRIPTION, Constant.NewNewsTable.COL_TITLE, Constant.NewNewsTable.COL_PICURL, Constant.NewNewsTable.COL_URL, Constant.NewNewsTable.COL_NEWSTYPE }, Constant.NewNewsTable.COL_NEWSTYPE+" =?", new String[]{type+""}, null, null, null, null ); while(cursor.moveToNext()){ NetNews nn = new NetNews(); nn.setTitle(cursor.getString(cursor.getColumnIndex(Constant.NewNewsTable.COL_TITLE))); nn.setCtime(cursor.getString(cursor.getColumnIndex(Constant.NewNewsTable.COL_CTIME))); nn.setDescription(cursor.getString(cursor.getColumnIndex(Constant.NewNewsTable.COL_DESCRIPTION))); nn.setPicUrl(cursor.getString(cursor.getColumnIndex(Constant.NewNewsTable.COL_PICURL))); nn.setUrl(cursor.getString(cursor.getColumnIndex(Constant.NewNewsTable.COL_URL))); nn.setNewsType(cursor.getInt(cursor.getColumnIndex(Constant.NewNewsTable.COL_NEWSTYPE))); list.add(nn); } cursor.close(); db.close(); return list; } public long addNetNews(NetNews nn){ SQLiteDatabase db = this.openHelper.getReadableDatabase(); ContentValues values = new ContentValues(); values.put(Constant.NewNewsTable.COL_TITLE,nn.getTitle()); values.put(Constant.NewNewsTable.COL_DESCRIPTION,nn.getDescription()); values.put(Constant.NewNewsTable.COL_CTIME,nn.getCtime()); values.put(Constant.NewNewsTable.COL_PICURL,nn.getPicUrl()); values.put(Constant.NewNewsTable.COL_URL,nn.getPicUrl()); values.put(Constant.NewNewsTable.COL_NEWSTYPE, nn.getNewsType()); long id = db.insert( Constant.NewNewsTable.TBL_NAME, null, values ); db.close(); return id; } public void addNetNews(List<NetNews> netNewsList){ for(NetNews nn:netNewsList){ addNetNews(nn); } } public void removeNewsByType(int type){ SQLiteDatabase DB = this.openHelper.getReadableDatabase(); //根据新闻类型删除 DB.delete( Constant.NewNewsTable.TBL_NAME, Constant.NewNewsTable.COL_NEWSTYPE+" =?", new String[]{type+""} ); DB.close(); }
相关文章推荐
- IOS 之使用FMDB进行SQLite数据库操作——表的创建与修改,以及数据的增删改查和多线程操作数据库
- magento中Model创建以及该Model对于数据库的增删改查
- 【转】PostgreSQL 数据库C语言代码实现【数据库连接,创建表, 以及增删改查】
- 数据库的创建以及增删改查的操作(轮子)
- 创建数据库以及增删改查
- 第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】
- 数据库的增删改查以及创建
- 数据库常用的SQL 语句(一)创建数据库,表以及添加约束
- Oracle管理与维护.手工创建数据库以及脚本
- JBPM创建数据库,流程定义以及发布学习笔记
- django数据库操作-增删改查-多对多关系以及一对多(外键)关系
- AIR 创建数据库和表,以及同步和异步执行模式
- sybase创建设备和数据库,以及修改数据库扩容
- Oracle 数据库表空间(tablespace)的创建、删除、修改、扩展以及检查
- Entity Framework (先创建数据库Model类,以及操作数据库的方法。 最后从代码生成数据库和数据库模型)
- 数据库的基础知识以及创建数据库
- SQL server 2000创建数据库角色以及向数据库角色添加用户的命令
- 地磅称量系统之(14)创建地磅系统的数据库、表以及新增、修改、删除的存储过程
- 数据库的建立,以及索引的创建
- Oracle 数据库用户(user)的创建、删除以及授予权限