Sqlite 参数化 模糊查询 解决方案
转自:https://codedefault.com/2018/does-dapper-support-the-like-operator-in-csharp-application
问题描述
如题,在.NET/C#的程序开发中,使用Dapper查询数据时,如何实现类似SQL查询语句中的like操作,如:
var data = conn.Query(@"
    select top 25
    Term as Label,
    Type,
    ID
    from SearchTerms
    WHERE Term like '%@T%'",
    new { T = (string)term });
以上的语句执行后的结果是错误的,在Dapper中,类似SQL语句中的like应该如何处理呢?
方案一
term = "whateverterm";
var encodeForLike = term => term.Replace("[", "[[]").Replace("%", "[%]");
string term = "%" + encodeForLike(term) + "%";
var data = conn.Query(@"
   select top 25
  Term as Label,
  Type,
  ID
  from SearchTerms
  WHERE Term like @term",
  new { term });
方案二
string query = "SELECT * from country WHERE Name LIKE CONCAT('%',@name,'%');"
var results = connection.query<country>(query, new {name});
方案三
db.Query<Remitente>("SELECT *
                     FROM Remitentes
                     WHERE Nombre LIKE @n", new { n = "%" + nombre + "%" })
                   .ToList();Sqlite 参数化 模糊查询 解决方案的更多相关文章
- 【转】SQL多条件模糊查询解决方案-存储过程
		前言: 算法的基本特性在前几篇博客中已经做了详细的说明,经过不断的改进优化,到归仓的时候了,也就是说,该算法告一段落,不再更新. 作为最终的解决方案,简要的总结一下算法特性,以方便读者参阅. l ... 
- SqlParameter 参数化模糊查询
		sql += " and a.f_fullName like N'%'+@fullName+'%'"; 
- IOS开发数据库篇—SQLite模糊查询
		IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: // // YYPerson.h // 03- ... 
- android sqlite使用之模糊查询数据库数据的三种方式
		android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ... 
- [ASP.NET]使用Oracle.ManagedDataAccess的OracleParameter参数化和OracleDataAdapter模糊查询
		今天写个查询员工的信息的demo遇到了2个问题 问题1.使用Oracle.ManagedDataAccess的OracleParameter参数化 OracleParameter 的使用(参数名要以: ... 
- SQLite 参数化查询
		SQLite参数化查询 首先给出两个参考博客: Sqlite DB sqlite3使用简介 贴出一段自己用的代码: #include <stdio.h> #include <stdl ... 
- Mybatis模糊查询结果为空的解决方案
		写在前面 Mybatis使用模糊查询,查询结果为空的解决方案,我的代码是 select * from sp_user where 1=1 <if test="username!=nul ... 
- MyBatis模糊查询不报错但查不出数据的一种解决方案
		今天在用MyBatis写一个模糊查询的时候,程序没有报错,但查不出来数据,随即做了一个测试,部分代码如下: @Test public void findByNameTest() throws IOEx ... 
- MySQL模糊查询
		第一种最土的方法:使用like语句第二种用全文索引 有两种方法,第一种最土的方法:使用like语句第二种听涛哥说用全文索引,就在网上搜一下: 如何在MySQL中获得更好的全文搜索结果 mysql针对这 ... 
随机推荐
- 【nowcoder】 4th T2 区间
			题目链接:https://www.nowcoder.com/acm/contest/175/B 当你为时间复杂度挠头的时候 别人已经33行拿满分了 #include<cstdio> #in ... 
- Source Insight 4.0安装使用教程
			一.说明 Source Insight是什么:Source Insight是一款代码编缉.浏览.分析工具. Source Insight与文本编缉器有什么区别:Notepad++等文本编缉器也可以编缉 ... 
- PDF 补丁丁 0.6.0.3340 版发布(修复提取图片的问题)
			新的版本修复了两个导致提取图片颜色异常的问题. 
- 在本地运行正常的静态网页放到tomcat中却显示异常的原因
			在本地写好了一个个人网站,本地直接用浏览器运行,很顺利,然而把网站放到Tomcat里面,却发现图片显示不出来,这就奇怪了. 后来发现,我的网站的Image文件夹用了大写“I”,而网页里面的路径用了小写 ... 
- C++各种优化
			目录 1.快速结束程序 2.register 3.inline 4.位运算 5.少用或不用STL 6.快读快写 准备工作 超慢cin cout 输出 输入 神一般的快读快写 对比 7.小技巧 8.co ... 
- 一般处理程序、Ajax多图片上传带进度条
			<!DOCTYPE html><html><head> <meta charset="utf-8" /> <tit ... 
- 整数中x出现的次数
			求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.ACMer ... 
- imx6 工具链下载地址
			http://downloads.yoctoproject.org/releases/yocto/yocto-1.7.1/toolchain/ 
- 如何启动linux的telnet服务--转载
			如何启动linux的telnet服务 如何启动linux的telnet服务 步骤如下: 1.如果安装了telnet.telnet-server的rpm包,就跳到2.,否则安装这个包. 2.修改teln ... 
- 第一章04:JDK与JRE  区别
			JDK = 开发工具 JRE = 运行程序 跨平台性 java程序 = 可以在任何系统中运行(不分系统) JVM = java虚拟机(不同系统下载不一样的JDK版本)(安装的时候包含在jre里面) 
