//自定义类继承于数据库帮助类 class sqliteHelper extends sqliteOpenHelper { //要创建的表名 public static final String TB_NAME="channel"; //当实例化一个数据库帮助对象时,会调用构造函数,当数据库不存在时,就会创建数据库,然后打开数据库(过程已经被封装起来了) public sqliteHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); } //数据库创建完成后,在调用onCreate函数,创建表 @Override public void onCreate(sqliteDatabase db) { db.execsql("CREATE TABLE IF NOT EXISTS "+ TB_NAME+"("+ ID+" integer primary key,"+ NAME+" varchar,"+ URL+" varchar"+ ")" ); Log.e("Database","onCreate"); } //检查构造函数的版本号,若传入的版本号高于当前的,就会执行onUpgrade()方法来更新数据库和版本号。 @Override public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { db.execsql("DROP TABLE IF EXISTS " + TB_NAME); onCreate(db); Log.e("Database","onUpgrade"); } } }@H_502_0@sqliteOpenHelper 的构造函数,当数据库不存在时,就会创建数据库,然后打开数据库(过程已经被封装起来了),再调用onCreate (sqliteDatabase db)方法来执行创建表之类的操作。当数据库存在时,sqliteOpenHelper 就不会调用onCreate (sqliteDatabase db)方法了,它会检测版本号,若传入的版本号高于当前的,就会执行onUpgrade()方法来更新数据库和版本号 @H_502_0@2、获取数据库对象
//实例化数据库帮组类
sqliteHelper dbHelper=new sqliteHelper(context,DB_NAME,null,DB_VERSION);
//获得当前数据库
sqliteDatabase db= dbHelper.getWritableDatabase(); @H_502_0@3、操作数据库表 @H_502_0@查询:Cursor cursor = db.query("...."); @H_502_0@while(cursor.moveToNext()) @H_502_0@{ @H_502_0@int per = cursor.getInt(0);//获取第一列的值 @H_502_0@String name = cursor.getString(1)//获取第二列的值 @H_502_0@} @H_502_0@cursor.close(); @H_502_0@db.close(); @H_502_0@插入: @H_502_0@ContentValues values = new ContentValues();
values.put(NAME,name);
values.put(URL,url);
//插入新纪录
Long id = db.insert(sqliteHelper.TB_NAME,values); @H_502_0@删除: @H_502_0@db.delete(sqliteHelper.TB_NAME,NAME +"='"+name+"'",null); 原文链接:https://www.f2er.com/sqlite/201115.html