Android GreenDao 条件查询问题
问题描述
使用GreenDao保存了全国城市的属性(名字,代码,省份等等),保存可以成功,无条件查询全部数据时可以成功:
private List<CityInfo> queryCitiesInfo(){List<CityInfo> cityInfos = mCityQUery.list();for (int i = 0; i < cityInfos.size(); i++) { Log.d(TAG,'所有的城市CountryEn'+cityInfos.get(i).getCountryEn());}return cityInfos; }
但是使用条件查询,时数据为0,不知道哪里出错了,对了下属性,没知道原因:
//这个方法查询的数据为0private void queryCitiesByLeader(){mCityInfoDao = nDaoSession.getCityInfoDao();mCityQUery = mCityInfoDao.queryBuilder().orderAsc(CityInfoDao.Properties.Id).build();List<CityInfo> cityInfos = mCityInfoDao.queryBuilder().where(CityInfoDao.Properties.CountryEn.eq('China')).orderAsc(CityInfoDao.Properties.Id).list();for (int i = 0; i < cityInfos.size(); i++) { Log.d(TAG,'条件查询城市名称' + cityInfos.get(i).getCityEn());} }
@Entitypublic class CityInfo {@Id private Long id; private String cityEn; private String cityZh; private String countryCode; private String countryEn; private String countryZh; private String provinceEn; private String provinceZh; private String leaderEn; private String leaderZh; private String lat; private String lon; @Generated(hash = 69148619) public CityInfo(Long id, String cityEn, String cityZh, String countryCode, String countryEn, String countryZh, String provinceEn, String provinceZh, String leaderEn, String leaderZh, String lat, String lon) {this.id = id;this.cityEn = cityEn;this.cityZh = cityZh;this.countryCode = countryCode;this.countryEn = countryEn;this.countryZh = countryZh;this.provinceEn = provinceEn;this.provinceZh = provinceZh;this.leaderEn = leaderEn;this.leaderZh = leaderZh;this.lat = lat;this.lon = lon; } @Generated(hash = 300452937) public CityInfo() { } public Long getId() {return this.id; } public void setId(Long id) {this.id = id; } public String getCityEn() {return this.cityEn; } public void setCityEn(String cityEn) {this.cityEn = cityEn; } public String getCityZh() {return this.cityZh; } public void setCityZh(String cityZh) {this.cityZh = cityZh; } public String getCountryCode() {return this.countryCode; } public void setCountryCode(String countryCode) {this.countryCode = countryCode; } public String getCountryEn() {return this.countryEn; } public void setCountryEn(String countryEn) {this.countryEn = countryEn; } public String getCountryZh() {return this.countryZh; } public void setCountryZh(String countryZh) {this.countryZh = countryZh; } public String getProvinceEn() {return this.provinceEn; } public void setProvinceEn(String provinceEn) {this.provinceEn = provinceEn; } public String getProvinceZh() {return this.provinceZh; } public void setProvinceZh(String provinceZh) {this.provinceZh = provinceZh; } public String getLeaderEn() {return this.leaderEn; } public void setLeaderEn(String leaderEn) {this.leaderEn = leaderEn; } public String getLeaderZh() {return this.leaderZh; } public void setLeaderZh(String leaderZh) {this.leaderZh = leaderZh; } public String getLat() {return this.lat; } public void setLat(String lat) {this.lat = lat; } public String getLon() {return this.lon; } public void setLon(String lon) {this.lon = lon; }}
下面是部分日志,打印出CountryEn:
第一次用GreenDao, 找了很久没发现问题,望解答,感谢。
问题解答
回答1:没有看到你的表结构及数据字段结构组成,没法准确判断你的问题了,我对你的“China”条件存疑,你检查你的条件是否正确。
相关文章:
1. angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得2. 视频文件不能播放,怎么办?3. mysql - 面试题:如何把login_log表转换成last_login表?4. 老师能帮忙看是什么原因吗?网上找了好多都解决不了5. node.js - win10如何安装并使用babel?6. python - 通过正则提取出来的ip,怎么命名7. python - win7 64位,安装urllib老是报错?8. 请教一条mysql的sql语句写法;9. javascript - js代码转python10. javascript - 我写的href跳转地址不是百度,为什么在有的机型上跳转到百度了,有的机型跳转正确
![angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得](http://www.haobala.com/attached/image/news/202311/101157b627.png)