- // 在sqlite中创建表的语句
- //创建表sql语句
- Stringstu_table="createtableusertable(_idintegerprimarykeyautoincrement,snametext,snumbertext)";
-
在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:排序列
⑨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类型值 |
- @H_404_200@privatevoidquery(sqliteDatabasedb)
- @H_404_200@{
- @H_404_200@
- @H_404_200@//查询获得游标 @H_404_200@
- @H_404_200@Cursorcursor=db.query("usertable"@H_404_200@,null@H_404_200@,153)">null@H_404_200@);
- @H_404_200@
- @H_404_200@//判断游标是否为空 @H_404_200@
- @H_404_200@if@H_404_200@(cursor.moveToFirst(){
- @H_404_200@
- @H_404_200@//遍历游标 @H_404_200@
- @H_404_200@for@H_404_200@(int@H_404_200@i=0@H_404_200@;i<cursor.getCount();i++){
- @H_404_200@
- @H_404_200@cursor.move(i);
- @H_404_200@
- @H_404_200@//获得ID @H_404_200@
- @H_404_200@int@H_404_200@id=cursor.getInt(0@H_404_200@);
- @H_404_200@
- @H_404_200@//获得用户名 @H_404_200@
- @H_404_200@Stringusername=cursor.getString(1@H_404_200@);
- @H_404_200@
- @H_404_200@//获得密码 @H_404_200@
- @H_404_200@Stringpassword=cursor.getString(2@H_404_200@);
- @H_404_200@
- @H_404_200@//输出用户信息 @H_404_200@
- @H_404_200@System.out.println(id+":"@H_404_200@+sname+":"@H_404_200@+snumber);
- @H_404_200@}
- @H_404_200@}
- @H_404_200@}
在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子句用来限制组,就像排好序,产生可读性更好的结果。