iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
  • 854
分享到

Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)

SQLLIKE参数sqlite数据库SQLiteAndroid 2022-06-06 10:06:43 854人浏览 八月长安
摘要

由于考虑到数据库的安全性,不被轻易sql注入,执行查询语句时,一般不使用直接拼接的语句,而是使用参数传递的方法。然后在使用参数传递的方法中时,发现当使用like方式查询数据时,

由于考虑到数据库安全性,不被轻易sql注入,执行查询语句时,一般不使用直接拼接的语句,而是使用参数传递的方法。然后在使用参数传递的方法中时,发现当使用like方式查询数据时,很容易出现一个问题。

错误案例:

代码如下:String myname = "abc";
String sql = "select * from mytable where name like '?%'";
Cursor cursor = db.rawQuery(sql, new String[]{myname};
运行提示如下错误:
代码如下:java.lang.IllegalArgumentException: Cannot bind argument at index 1 because the index is out of range. The statement has 0 parameters.

根据错误提示可知,sql语句中的?号没有被识别出来,从而new String[]{myname}没法替代sql中的?号。?号没有被识别出来的原因估计是?号外有单引号,但是在sql中like语句的值和%号需要用引号围着。

为了解决sql中?号无法识别,必须去掉?号外的引号,那么%号也需要去掉。所以,得在后面代替?号的参数中添加上%号。

所以,正确的案例如下:
代码如下:
String myname = "abc";
String sql = "select * from mytable where name like ?";
Cursor cursor = db.rawQuery(sql, new String[]{myname+"%"};
可能有人会问为什么不用添加引号,因为参数代替?号时,自动以字符串的形式代替的。

您可能感兴趣的文章:Android SQLite数据库增删改查操作的使用详解Android开发之SQLite的使用方法Android使用SQLite数据库的简单实例android创建数据库(SQLite)保存图片示例深入Android SQLite 事务处理详解android中sqlite的按条件查找的小例子Android--SQLite(增,删,改,查)操作实例代码Android创建和使用数据库SQLIteAndroid SQLite数据库进行查询优化的方法


--结束END--

本文标题: Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)

本文链接: https://www.lsjlt.com/news/27131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何解决sql查询语句中中文的问题
    本文小编为大家详细介绍“php如何解决sql查询语句中中文的问题”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何解决sql查询语句中中文的问题”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、中文字符的...
    99+
    2023-07-05
  • 用一条SQL语句查询不同数据库的方法
    小编给大家分享一下用一条SQL语句查询不同数据库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求:一条SQL语句从多个数...
    99+
    2024-04-02
  • SQL模糊查询报:ORA-00909:参数个数无效问题的解决
    用oracle数据库进行模糊查询时, 控制台报错如下图所示: 原因是因为敲的太快,语法写错了 正确的写法是 pd.code like concat(conca ...
    99+
    2024-04-02
  • Go语言中如何解决并发数据库查询优化问题?
    Go语言中如何解决并发数据库查询优化问题?在日常的开发过程中,我们经常会遇到需要从数据库中查询大量数据的场景。而在并发环境下,数据库查询的性能往往会成为瓶颈。本文将介绍一些在Go语言中解决并发数据库查询优化问题的方法,并提供一些具体的代码示...
    99+
    2023-10-22
    优化 数据库 并发
  • 关于Spring MVC同名参数绑定问题的解决方法
    前言最近在使用Spring MVC接收参数的时候,碰到个同名参数绑定的问题,参考了好几篇文章才解决问题,所以自己在这里总结一下,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍:比如,我的表单是这样的:<form action...
    99+
    2023-05-31
    springmvc 同名参数绑定 sprin
  • Mybatis-plus使用selectList查询数据为null的问题及解决办法
    目录概述原因解决方案概述 使用mybatis-plus的selectList查询数据封装进list 打印为null javaben和数据库字段也能对应上 原因 可以从图片看的出...
    99+
    2024-04-02
  • sql server2012附加数据库问题的解决方法
    sql server2012附加数据库问题的解决方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SQLServer错误512...
    99+
    2024-04-02
  • 如何解决Mysql数据库中sql语句的where条件中文本匹配问题
    这篇文章主要介绍如何解决Mysql数据库中sql语句的where条件中文本匹配问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mysql数据库中sql语句中wher...
    99+
    2024-04-02
  • 解决sql server 数据库,sa用户被锁定的问题
    sql server 数据库,sa用户被锁定 1、打开数据库——用Windows身份登录数据库 2、登录名——双击sa(打开属性) 3、常规——设置密码——确定 4、状态——登...
    99+
    2024-04-02
  • 数据库的嵌套查询的性能问题怎么解决
    本文小编为大家详细介绍“数据库的嵌套查询的性能问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据库的嵌套查询的性能问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2023-03-20
    数据库
  • mysql数据库查询随机数量条目的效率问题和解决方法
    本篇内容介绍了“mysql数据库查询随机数量条目的效率问题和解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • SQL附加数据库失败问题的解决方法
    这篇文章将为大家详细讲解有关SQL附加数据库失败问题的解决方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为了偷个懒,利用这个数据库,但是在附加的时候出错...
    99+
    2024-04-02
  • 如何解决php数据库查询结果编码的问题
    PHP是一种流行的Web编程语言,可以用于编写动态网页和应用程序。在实际应用中,PHP经常需要与数据库进行交互,进行数据的查询和处理。然而,在使用PHP从数据库中获取结果时,可能会遇到编码的问题,这通常会导致出现乱码。那么,如何解决php数...
    99+
    2023-05-14
    php 数据库 编码
  • SQLServer中JSON文档型数据的查询问题解决
    近日在项目中遇到一个问题: 如何在报表中统计JSON格式存储的数据? 例如有个调查问卷记录表,记录每个问题的答案。 其结构示意如下(横表设计) ...
    99+
    2024-04-02
  • 怎么解决php数据库查询结果编码的问题
    这篇“怎么解决php数据库查询结果编码的问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么解决php数据库查询结果编码的...
    99+
    2023-07-05
  • 通过sql语句查询出某个字段在数据库中的某个表
    新入职的小伙伴,肯定还没熟悉数据库中表于表的关系以及表中的字段的含义是什么,就需要进行需求开发,导致会出现对某个字段在哪张表里面都分辨不清,不过不要怕,可以利用已下sql语句快速找到。(要注意的是,此方法可能不适用于所有类型的数据库系统,但...
    99+
    2023-09-05
    数据库 sql mysql
  • 查看docker中运行的JVM参数问题及解决方法
    方法一、jcmd命令: 1、jps获取java的线程id 2、jcmd pidVM.flags获取 51152:-XX:CICompilerCount=3 -XX:InitialHe...
    99+
    2024-04-02
  • 如何解决springboot数据库查询时出现的时区差异问题
    目录springboot数据库查询时出现的时区差异1.在连接数据库的配置上我们添加一项2.直接在boot配置文件中增加jackson配置springboot new Date()时区...
    99+
    2023-01-06
    springboot数据库查询 数据库查询时区差异 springboot查询
  • 数据库查询中遭遇特殊字符的解决方法
    本篇内容介绍了“数据库查询中遭遇特殊字符的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • mysql中查询字段为null的数据navicat问题怎么解决
    这篇“mysql中查询字段为null的数据navicat问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作