代码如下:
private void queryForResult(String invite_id) {
BmobQuery<Invite_id> query = new BmobQuery<>(); query.addWhereEqualTo("id", id); query.findObjects(new FindListener<id>() { @Override public void done(List<Invite_id> results, BmobException e) { if (e == null) { Log.d("查询成功:","共"+results.size()+"条数据。"); } else { Log.d("错误信息:",e.toString()); } } });
}
解决过程:
1.核对实体类名与Bmob后台数据库表名一致,核对实体类名个字段名与数据库表各列名一致;
2.核对以上查询代码也没有问题;
后来将 query.addWhereEqualTo("id", id);中查询条件列名改为其他的列,结果查询成功。
发现id字段为Number类型,而查询成功的字段为String类型,故找到问题,出现在查询方法形式参数定义上。
将private void queryForResult(String invite_id),改为private void queryForResult(Integer
invite_id),问题解决。
总结如下,Bmob addWhereEqualTo语句传参数要注意类型匹配。