首页 理论教育 数据库常用操作技巧

数据库常用操作技巧

时间:2023-06-10 理论教育 版权反馈
【摘要】:前面介绍了Android SDK 提供的一系列操作SQLite 数据库的API,接下来将针对如何使用上述API 操作SQLite 数据库进行详细讲解。增加一条数据前面介绍了如何创建数据库,接下来以person 表为例介绍如何向表中插入一条数据。Key 表示插入数据的列名,values 表示要插入的数据。查询一条数据查询数据首先要获得一个可读的SQLiteDatabase 对象。

数据库常用操作技巧

前面介绍了Android SDK 提供的一系列操作SQLite 数据库的API,接下来将针对如何使用上述API 操作SQLite 数据库进行详细讲解。

(1)创建SQLite 数据库

Android 系统推荐使用SQLiteOpenHelper 的子类创建SQLite 数据库,因此需要创建一个类继承自SQLiteOpenHelper,重写onCreate()方法并在该方法中执行创建数据库的命令。 具体代码如下:

上述代码中,创建数据库的SQL 语句被定义在onCreate()方法中,当数据库第一次被创建时会自动调用该方法,并执行方法中的SQL 语句。 当数据库版本号增加时会调用onUpgrade()方法,如果版本号不增加,该方法则不会被调用。 需要注意的是,创建的数据库被放置在/data/data/<your package name>/database 目录下。

(2)增加一条数据

前面介绍了如何创建数据库,接下来以person 表为例介绍如何向表中插入一条数据。 在操作数据库之前,首先要得到一个可读写的SQLiteDatabase 对象,具体代码如下:

上述代码介绍了使用insert()方法将数据库插入到person 表中。 需要注意的是,第5 行代码使用ContentValues 类,该类用于放置参数,它的底层是利用Map 集合实现的。 Key 表示插入数据的列名,values 表示要插入的数据。

除了上述介绍的方法之外,还有一个方法可以实现该功能,具体代码如下:

与insert()方法不同的是,execSQL()方法的第一个参数表示将要执行的SQL 语句,并用占位符表示参数,第二参数表示占位符对应的参数,后面将要讲解的修改数据,删除数据都可以通过该方法完成,只需要修改相应的SQL 语句即可。

(3)修改一条数据

接下来介绍如何使用SQLiteDatabase 的uqdate()方法修改person 表中的数据,具体代码如下:(www.xing528.com)

上述代码讲解了如何向person 表中修改一条数据,需要注意的是,使用完SQLite-Database 对象后一定要关闭,否则数据库连接会一直存在,会不断消耗内存,并且会报出数据库未关闭异常,当系统内存不足时将获取不到SQLiteDatabase 对象。

(4)删除一条数据

下面介绍如何使用SQLiteDatabase 的delete()方法删除pesron 表中的数据,具体代码如下:

需要注意的是,删除数据不同于增加和修改数据,删除数据时不需要使用ContentValues 来添加参数,而是使用一个字符串和一个字符串数组来添加数组参数和参数值。

(5)查询一条数据

查询数据首先要获得一个可读的SQLiteDatabase 对象。 SQLiteDatabase 提供两个用于查询数据的方法,一个是rawQuery(),另一个是query()。 下面讲解通过query()方法查询数据,具体代码如下:

上述代码介绍了使用query()方法查询person 表中的数据,接下来介绍使用raw-Query()方法查询数据,具体代码如下所示:

与前面介绍的增、删、改操作的不同之处是,前面三个的操作都可以用execSQL()方法执行SQL 语句,而这里却使用rawQuery。 这是因为查询数据库会返回一个结果集Cursor 而execSQL()方法没有返回值

需要注意的是,在使用完Cursor 对象时,一定要将其及时关闭,否则会造成内存泄露。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈