欢迎投稿

今日深度:

安卓学习笔记(2),安卓学习笔记

安卓学习笔记(2),安卓学习笔记


1.在安卓的帮助文档中,query函数的相关内容如下:

其中各个参数的含义为:

table 需要进需要行操作的表的名称

columns 需要查询的列,如String[]{“name”,”sex”},表示的是查询name和sex两个列

selection 查询的条件子句,如”name = \”Tom\”“,表示只查询name这列中Tom的数据

​ 如果写法是“name=?”,表示使用占位符,具体的查询的子条件在selectionArgs中体现

selectionArgs 与selection中的?占位符相对应,如:new String[]{“Tom”,”Jerry”},表示查询name列中的

​ Tom和Jerry的数据,这样操作可以防止SQL注入攻击

groupBy 用于设定返回行的分组方式,相当于SQL语句中的GROUP BY 关键字。传递null表示返回的

​ 行不会被分组。

having 决定哪一行被放到Cursor中的过滤器。如果使用了行分组,相当于SQL语句中的HAVING关

​ 键字。传递null会导致所有的行都包含在内,前提是groupBy属性也设置为null。

orderBy 用于排序

排序操作:就是填充最后一个字段**

填充规则就“ 列名   desc”,其中desc表示降序排列,asc是升序排列

如“name desc”就是对name的数据进行升序排列。

2.遇到的问题

排序报错:

排序之后的结果是721 520 120 1456 1234 1101

大概就是相同长度的数字进行排序,而总体没有进行排序,就会出现较大的数字没有出现在靠前的位置上。

报错原因:

我在设置表参数的时候,将数据类型设置成了TEXT DEFAULT了,对于TEXT DEFAULT的排序是按照text字段的首字符进行排序的,因而会出现排序不正确的现象。

解决方式:

我将数据类型改为了整形,即INTEGER,问题引刃而解了。

www.htsjk.Com true http://www.htsjk.com/SQLite/33035.html NewsArticle 安卓学习笔记(2),安卓学习笔记 1.在安卓的帮助文档中,query函数的相关内容如下: 其中各个参数的含义为: table 需要进需要行操作的表的名称 columns 需要查询的列,如String[]{“n...
相关文章
    暂无相关文章
评论暂时关闭