- // 在SqLite中创建表的语句
- //创建表SQL语句
- String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)";
-
- //执行SQL语句
- db.execSQL(stu_table);
在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下:
public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);
各个参数的意义说明:
①table:表名称
②columns:列名称数组
③selection:条件字句,相当于where
④selectionArgs:条件字句,参数数组
⑤groupBy:分组列
⑥having:分组条件
⑦orderBy:排序列
⑧limit:分页查询限制
⑨Cursor:返回值,相当于结果集ResultSet
Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等.
Cursor游标常用方法
|
方法名称 |
方法描述 |
|
getCount() |
获得总的数据项数 |
|
isFirst() |
判断是否第一条记录 |
|
isLast() |
判断是否最后一条记录 |
|
moveToFirst() |
移动到第一条记录 |
|
moveToLast() |
移动到最后一条记录 |
|
move(int offset) |
移动到指定记录 |
|
moveToNext() |
移动到下一条记录 |
|
moveToPrevious() |
移动到上一条记录 |
|
getColumnIndexOrThrow(String columnName) |
根据列名称获得列索引 |
|
getInt(int columnIndex) |
获得指定列索引的int类型值 |
|
getString(int columnIndex) |
获得指定列缩影的String类型值 |
下面就是用Cursor来查询数据库中的数据,具体代码如下:
- private void query(SQLiteDatabase db)
- {
- //查询获得游标
- Cursor cursor = db.query ("usertable",null,null,null,null,null,null);
- //判断游标是否为空
- if(cursor.moveToFirst() {
- //遍历游标
- for(int i=0;i<cursor.getCount();i++){
- cursor.move(i);
- //获得ID
- int id = cursor.getInt(0);
- //获得用户名
- String username=cursor.getString(1);
- //获得密码
- String password=cursor.getString(2);
- //输出用户信息
- System.out.println(id+":"+sname+":"+snumber);
- }
- }
- }
在SQL中,select语句的基本格式如下:
select [all distinct] select_list
from table_list/view_list
[where conditions]
[group by group_list]
[having conditions]
[order by order_list]
下面对select语句的语法进行一下分析:
第一行关键字select后的select_list列出了所选择列的名称,在检索后系统将列出符合条件的列的数据。select关键字之后可选的关键字all表示将显示所有检索到的数据(包括重复的数据),distince表示不在结果中显示重复数据。
第二行关键字from之后,指定要进行检索的表的名称table_list或视图的名称view_list。from后面可以是一张表,也可以是多张表。
第三行关键字where之后,可以指定检索的条件,使select语句按照指定的检索条件在表中检索数据。要注意检索条件可以来源于一张表,也可以来源于多张表。
第四行关键字group by指定如何对检索到的数据进行分组,使显示结果按照用户的需要分好组,产生可读性更好的结果。
第五行关键字having子句可以看成用于组的where子句。having子句用来限制组,就像排好序,产生可读性更好的结果。
最基本的select语句中一般包含前三行,后三行是为了更好地显示查询的结果,使用后面三行可以清晰、直观地显示查询结果。
本文深入探讨了在Android环境中使用SQLite数据库创建表、执行SQL语句及利用Cursor类进行数据查询的过程。从创建表语句到使用SQLiteDatabase.query()方法获取Cursor对象,再到遍历查询结果并获取特定信息,文章详细解释了各步骤的关键概念和具体实现。同时,通过实例代码展示了如何使用Cursor的常用方法遍历查询结果,并解析每一行数据的内容。
8351

被折叠的 条评论
为什么被折叠?



