美文网首页Android技术知识Android开发
SqlBrite where in 语句无效问题

SqlBrite where in 语句无效问题

作者: IOTYang | 来源:发表于2016-11-17 18:30 被阅读93次

最近在使用SqlBrite时,发现所写的where in语句居然无效

```

mBriteDb.createQuery(DbTable.TB_NAME, "Select * from "+ RPDbTable.RouteGps.TB_NAME

+" where "+ RPDbTable.RouteGps.CL_GUID+" in (?)", ids)

.mapToList(newFunc1() {...})...

```

而我的ids=’1001’, '1002', '1003' ...; 感觉应该没问题,运行一试,果然我的感觉每次都不靠谱;为啥不行了,我也没有找到很官方的解释,但发现一个方法可以解决:

将 in(?) 改为 "in (" + makePlaceholders( idArray.length)+ "), ids改为idArray数组。

```

private String makePlaceholders(intlen) {

if(len <1) {

// It will lead to an invalid query anyway ..

throw newRuntimeException("No placeholders");

}else{

StringBuilder sb =newStringBuilder(len *2-1);

sb.append("?");

for(inti =1;i < len;i++) {

sb.append(",?");

}

returnsb.toString();

}

}

```

SqlBrite是什么鬼?

简单的说就是将SQLite数据库用Rxjava进行了封装,用于结合Rxjava使用,以下是简要介绍和下载地址:

GitHub - square/sqlbrite: A lightweight wrapper around SQLiteOpenHelper which introduces reactive stream semantics to SQL operations.

那Rxjava又是什么东东?

只能说你太out了,这么强大的一个东西,你居然不知道,赶紧挖个坑把自己埋了吧~!~!

github.com/ReactiveX/RxJava

给 Android 开发者的 RxJava 详解

(ps: 其实我只想记录以下,以免以后忘了》_《)废话不多说了,自己领悟去吧~!

相关文章

  • SqlBrite where in 语句无效问题

    最近在使用SqlBrite时,发现所写的where in语句居然无效 ``` mBriteDb.createQue...

  • SQL优化

    一、SQL语句编写注意问题 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子...

  • mybatis plus条件构造器-常用词解释

    常用词解释: where WHERE 语句,拼接 + WHERE 条件and AND 语句,拼接 + AND 字段...

  • 数据库知识点记录

    问题:mysql执行update语句时,如果不是主键where语句会报错 原因:MySql运行在safe-upda...

  • 过滤查询

    前言: 这一节主要是 SELECT语句的 where子句的搜索条件 where 语句 SELECT 语句的基本格式...

  • Oracle笔记2

    06:where语句:select * from emp where deptno = 10; ...

  • 2.1神经网络优化

    tf.where() 条件语句真返回A,条件语句假返回Btf.where(条件语句,真返回A,假返回B) np.r...

  • 基础语法--AND、OR

    结合where语句一起使用 where a and b----a、b同时成立 where a or b----a、...

  • MySQL5.7性能优化(四)WHERE语句优化

      本文将主要研究如何通过WHERE语句来进行优化。在本文的例子中将使用SELECT语句中的WHERE语句,但是在...

  • MySQL

    where like语句select * from mysql.user where name like %admin%

网友评论

    本文标题:SqlBrite where in 语句无效问题

    本文链接:https://www.haomeiwen.com/subject/wivjjttx.html