七.使用SQLiteOpenHelper类对数据库简单操作
来源:互联网 发布:linux系统启动的顺序 编辑:程序博客网 时间:2024/06/06 19:28
一.当操作SQLite数据库时需要,需要得到一个SQLiteOpenHelper对象。但由于SQLiteOpenHelper是一个抽象类,需要自定义一个类来继承它。这样自定义类就实现了SQLiteOpenHelper中的所有方法。
二.创建一个类并继承SQLiteOpenHelper,实现其中的方法。并在构造函数中调用基类的构造函数。
public class SqlLiteHelper extends SQLiteOpenHelper { private static final int VERSION =1; //TODO 实现基类的构造函数,四个参数的 public SqlLiteHelper(Contextcontext , String DBname ,CursorFactory factory , int version) { super(context, DBname,factory, version); } //TODO 实现基类的构造函数,三个参数的 public SqlLiteHelper(Context context, String DBname ,int version ) { this(context, DBname, null,version); } //TODO 实现基类的构造函数,两个参数的 public SqlLiteHelper(Contextcontext,String DBname) { this(context, DBname, null,VERSION); } //当创建数据库时执行 @Override public void onCreate(SQLiteDatabasedb) { // TODO Auto-generatedmethod stub System.out.println("创建数据库"); db.execSQL("Createtable user(id int , name varchar(20))"); } //当更新数据库版本时执行 @Override public voidonUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //TODO Auto-generated method stub System.out.println("修改数据库版本号"); }}
三.创建数据库
//创建自定义SqlLiteHelper类的实例,调用两个参数的构造函数SqlLiteHelper mySqlLiteHelper = new SqlLiteHelper(SqlLiteTestActivity.this,"paj_db_test");//只有调用了getWritableDatabase()方法才会执行SqlLiteHelper类中的OnCreate中的代码mySqlLiteHelper.getWritableDatabase();
四.更新数据库版本
//调用三个参数的构造函数更新数据库的版本,数据库版本只能递增。SqlLiteHelper myhelper = new SqlLiteHelper(getApplicationContext(),"paj_db_test", 2);myhelper.getReadableDatabase();
五.向数据库中插入信息
//创建SqlLiteHelper自定义类对象,并调用两个参数的构造函数SqlLiteHelper myhelper = newSqlLiteHelper(getApplicationContext(), "paj_db_test"); //创建一个ContenValues对象,存储数据ContentValues contentValues = new ContentValues();//把数据填充到ContentValues对象中,ContentValues对象中的键和值对应数据库中的列和值。值必须与数据列的类型相同。contentValues.put("id", 2);contentValues.put("name", "zhangsan");//创建可写的SQLiteDatabase对象SQLiteDatabase db = myhelper.getWritableDatabase();//调用insert方法写入数据库.第一个参数为表名,第二个为null,第三个参数为CntentValues对象。db.insert("user", null, contentValues);
六.更新数据库信息
//创建一个ContentValue对象存放要更新的信息ContentValues contentValues = new ContentValues();//把要更新的信息存放到ContentValues对象中。//第一个参数对应数据库中的列,第二个参数对应列的值。contentValues.put("name", "zhangsanfeng");//创建SqlLiteHelper对象SqlLiteHelper myhelper = new SqlLiteHelper(getApplicationContext(),"paj_db_test");//创建一个可写的SQLiteDatabase对象SQLiteDatabase db = myhelper.getWritableDatabase();//使用update更新数据库//第一个参数是数据库表名//第二个参数是ContentValues对象//第三个参数是SQL语句中的Where条件子语句,其中的?对应第四个参数中String数组。数组中有几个字符就有几个问号。//第四个参数是Where的条件。使用String数组存放Where条件db.update("user", contentValues, "id=?", newString[]{"1"});
七.查询数据库
//调用两个参数的构造函数实例化SqlLiteHelper自定义类SqlLiteHelper myhelper = new SqlLiteHelper(SqlLiteTestActivity.this,"paj_db_test");//创建只读的SQLiteDatabase对象SQLiteDatabase db = myhelper.getReadableDatabase();//调用SQLitedatabase的query方法获取检索结果并放入Cursor对象中。//query方法的第一个参数是表名//第二个参数是使用String数组存放列名,一个列明占用一个元素//第三个参数是SQL语句中的Where条件子语句,其中的?对应第四个参数中String数组。数组中有几个字符就有几个问号。//第三个参数是Where的条件//第四个参数分组//第五个参数是SQL中的having//第六个参数是排序Cursor cursor = db.query("user", null,null, null, null, null, null);//使用cursor.moveToNext()把游标下移一行。游标默认在第一行的上一行。while (cursor.moveToNext()) { //使用GetString获取列中的值。参数为使用cursor.getColumnIndex("name")获取的序号。 String nameString =cursor.getString(cursor.getColumnIndex("name")); String idsString = cursor.getString(cursor.getColumnIndex("id")); System.out.println("ID--->"+idsString); System.out.println("NAME--->"+nameString); }
- 七.使用SQLiteOpenHelper类对数据库简单操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- Android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- Android SQLite使用SQLiteOpenHelper类对数据库进行操作
- 常见的AS/400 FTP问题解答
- Android 通讯录按拼音分组显示,以及拼音搜索
- 比较Java和C++的访问控制语法
- Java读取配置文件的几种方法
- 在Visual C++中用ADO进行数据库编程
- 七.使用SQLiteOpenHelper类对数据库简单操作
- SQL Server:触发器品读 -- Insert、 Delete、 Update(“updated ”是不存在的,不能想当然)
- 白痴做Web应用之01:第一个坑,没有创建Artifact
- 另一种冒泡算法
- C# 中的委托和事件
- struts2配置execAndWait报错的解决办法..
- python 合并文件小程序
- 【网络搜集】RMI基础原理及实现
- 有一组数字,从1到n,从中减少了3个数,顺序也被打乱,放在一个n-3的数组里,请找出丢失的数字,最好能有程序,最好算法比较快