关于数据库的学习
来源:互联网 发布:数据库工程师培训 编辑:程序博客网 时间:2024/06/05 12:49
SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的数据库对象。继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法。
int nameIndex = cursor.getColumnIndex("name");
操作完后关闭
cursor.close();//关闭结果集
db.close();//关闭数据库对象
onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。
onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):当打开数据库时传入的版本号与当前的版本号不同时会调用该方法。
比如:
- public class DatabaseHelper extends SQLiteOpenHelper {
- //类没有实例化,是不能用作父类构造器的参数,必须声明为静态
- private static final String name = "itcast"; //数据库名称
private static final int version = 1; //数据库版本
- public DatabaseHelper(Context context) {
- //第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类
- super(context, name, null, version);
- }
- @Override public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE IF NOT EXISTS person (personid integer primary key autoincrement, name varchar(20), age INTEGER)");
- }
- @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL(" ALTER TABLE person ADD phone VARCHAR(12) NULL "); //往表中增加一列
- // DROP TABLE IF EXISTS person 删除表
- }
- }
<pre name="code" class="java"><span style="font-size:14px;"> 除了上述两个必须要实现的方法外,还可以选择性地实现onOpen 方法,该方法会在每次打开数据库时被调用。 SQLiteOpenHelper 类的基本用法是:当需要创建或打开一个数据库并获得数据库对象时,首先根据指定的文件名创建一个辅助对象,然后调用该对象的getWritableDatabase 或 getReadableDatabase方法 获得SQLiteDatabase 对象。 调用getReadableDatabase 方法返回的并不总是只读数据库对象,一般来说该方法和getWriteableDatabase 方法的返回情况相同,只有在数据库仅开放只读权限或磁盘已满时才会返回一个只读的数据库对象。 dh = new DatabaseHelper(mContext, dbName, null, dbVersion); mSQLiteDatabase = dh.getWritableDatabase(); 然后就可以执行数据库的语句了</span>
<pre name="code" class="java"><span style="font-size:14px;">String sql = "select * from record";cursor = mSQLiteDatabase.rawQuery(sql, null);注意<span style="color:black;margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; border-top-style:none; border-right-style:none; border-bottom-style:none; border-left-style:none; border-width:initial; border-color:initial; background-color:inherit"><span class="comment" style="color:#0820;margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; border-top-style:none; border-right-style:none; border-bottom-style:none; border-left-style:none; border-width:initial; border-color:initial; background-color:inherit">execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句; rawQuery()方法用于执行select语句。</span></span></span><span style="font-size:14px;"></span>//获取name列的索引
int nameIndex = cursor.getColumnIndex("name");
操作完后关闭
cursor.close();//关闭结果集
db.close();//关闭数据库对象
0 0
- 关于数据库的学习
- 关于数据库的学习
- 关于数据库的学习
- 关于数据库系统的学习
- 关于数据库学习的体会
- 关于数据库存储过程学习的资料
- 关于数据库中的JOIN的用法学习
- 关于数据库中的JOIN的用法学习
- 关于数据库SQLite的学习与理解
- 关于ORACLE 数据库学习的几点建议
- 关于学习数据库开发的一点建议和忠告
- 关于学习数据库开发的一点建议和忠告
- 关于今天数据库学习的一些内容和总结
- Linux命令:关于数据库的Linux命令 不断更新学习中~~
- 关于FMDB 数据库自己看着学的,希望可以互相学习
- 补充学习:关于数据库的存储过程与函数
- 关于数据库的索引
- 关于数据库的问题
- GCC和G++编译优化的一些问题
- 理解Linux系统负荷
- 啦啦啦啦啦啦
- 吴桐刚刚开通了新博客
- CAS/一致性哈希
- 关于数据库的学习
- Eclipse中Maven工程缺少Maven Dependencies
- shadowsocks-nodejs 多用户
- c#推箱子源程序
- Remote desktop cannot verify
- ug871-vivado-high-level-synthesis-tutorial第3章lab1中文
- 挖掘机学校哪家强
- QT4/QT5设置界面风格
- 我刚刚开的博客