当前位置: 首页 > 面试题库 >

Android Sqlite IN,NOT IN语法

公西星海
2023-03-14
问题内容

我试图运行NOT IN选择NOT IN动态列表。就像是

SELECT id, type FROM CONTACTS where type NOT IN ('connect','answer')

在代码中,我徒劳的尝试是:

db.query(TABLE, new String[] { "id", ""}, " type NOT IN (?)", "connect,answer", 
    null, null, null); // didn't work
db.query(TABLE, new String[] { "id", ""}, " type NOT IN (?)", "'connect','answer'", 
null, null, null); // didn't work

我对此的看法是,?替换将我的逗号列表视为单个参数。我确实找到了解决方案,但它很难看,因此除非有人提出更优雅的方法,否则我不会在此处发布该解决方案


问题答案:

您不能只放置一个’?’ 而不是值列表。这样,尝试对列表进行参数化几乎没有任何好处。当然,可以创建2、4、16值的准备好的语句,..." type NOT IN (?,?)", new String[]{ "connect","answer" },...但是即使在具有远程RDBMS的服务器上,它也有可疑的价值。相反,做

db.query(TABLE, new String[] { "id", ""}, " type NOT IN ('connect','answer')", 
     null, null, null, null);

如果列表是动态的,则必须转义字符串并将其放入单引号列表中。



 类似资料:
  • 主要内容:1. 生产参数,2. 缩进空间,3. 分离空间,4. 忽略行前缀,5. 折叠线在本章中,将了解YAML中语法原语的以下几个方面 - 生产参数 缩进空间 分离空间 忽略的行前缀 折叠线 下面来详细地了解每个方面。 1. 生产参数 生产参数包括一组参数以及在特定生产中使用的允许值范围。 YAML中使用以下生产参数列表 - 缩进 它由字符或表示字符流取决于其中包含的块的缩进级别。 许多生产都参数化了这些功能。 上下文 它由表示,YAML支持两组上下文:块样式和流样式。 样式 它由

  • 这一部分将 Rust 拆成小的部分,每一部分对应一个概念。 如果你想要自底向上的学习 Rust,按顺序阅读这一部分将会有很大帮助。 这些部分也组成了一个对各种概念的参考,所以如果你阅读其它教程并发现一些迷惑的问题,你可以在这里找到一些解释。

  • 我想用javascript/php实现法语、俄语等外语的拼写更正。对于英语拼写检查器,我可以使用编辑距离算法从英语词典中检索单词(词典是使用Trie构建的),并返回最频繁的单词。我还找到了关于这方面的文章,例如。http://stevehanov.ca/blog/index.php?id=114.我认为对于外语来说,同样的方法也是有用的。 我相信必须为不同的语言提供API,但我不想在我的应用程序中

  • 主要内容:第一个Dart语序,Dart命令行选项,启用检查模式,Dart标识符,Dart关键字,Dart注释,Dart面向对象编程语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 - 变量和运算符 类 函数 表达式和编程构造 决策和循环结构 注解 库和包 类型定义 数据结构 - 集合/泛型 第一个Dart语序 函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要方法来执行。是一个预定义的函数,它将指定的字符串或值打印到标准输出(即

  • 主要内容:R命令提示符,R脚本文件,注释学习一个新编程语言的惯例是什么?,当然是编写一个“Hello,World!”,下面我们将演示如何使用R编程编写一个“Hello,World!”程序。根据需要,您可以在R命令提示符下编程,也可以使用R脚本文件编写程序。 R命令提示符 当安装好了R开发环境以后,那么通过在命令提示符下键入以下命令,就可以启动R命令提示符 - 或者,在Windows系统下 - 这将启动R解释器,您将获得一个提示您可以在以

  • 上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。 Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") 6 个标记是(每行一个): 1. fmt 2. . 3. Println 4. ( 5. "Hello, World!"

  • 顾名思义,一个命令式语言是由一个个“命令”为单元组成,不过一般很少用命令这个词,而是细分一下,比较低级的语言用指令(instruction),高低的语言一般认为是一个语句(statement,以后简称stmt),词法分析只将一段高级语言代码分解成一个个词,接下来还要做语句层面的分析,最终目标是生成抽象语法树(ast) 代码: a = 1; s = 0; while (a <= 100)

  • 问题内容: 为什么Python在第9行的简单语句中给我一个语法错误? Python的版本是: 问题答案: 在Python 3中,print是一个函数,您需要像这样调用它。