sql中like带参数的写法

最近学习过程中,用到like语句,但为了防止sql注入,所以得使用sql参数化的方法进行查询。发现使用like语句时,不同于直接的查询。尝试了几次,都没有成功。

直接查询时的写法为:

select 字段 from 表 where 字段=@parameter;
SqlParameter s1 = new SqlParameter("@parameter",parameter);

而在like语句中为:

string sql = "select 字段 from 表 where 字段 like @keywords ";
SqlParameter s1 = new SqlParameter("@keywords", "%" + keywords +"%");

这种写法实现了sql like语句的参数化查询.

时间: 2024-10-12 20:26:54

sql中like带参数的写法的相关文章

在PL/SQL中使用带参数的游标

需求:查询并输出部门名称为SALES的员工信息 1 SET serveroutput ON; 2 DECLARE 3 CURSOR c_emp(paramName VARCHAR2) IS 4 SELECT * FROM emp WHERE deptno = (select deptno from dept where dname = paramName); 5 BEGIN 6 FOR e IN c_emp('SALES')loop 7 dbms_output.put_line(e.empno|

在JDBC中使用带参数的SQL语句

ADO.Net中,支持带参数的SQL语句,例如:Select * from Tables where [email protected],其中@column1为SQL参数,使用起来非常方便,而JDBC中没有找到此功能,感觉有点不便, 于是想自己实现一个.今天正好看见csdn中有一篇http://blog.csdn.net/wallimn/article/details/3734242 文章,有些感触,于是把自己的实现也写出来. 我的思路: 1: 在SQL语句中找到以@开始,以" ",

python中编写带参数decorator

考察上一节的 @log 装饰器: def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn 发现对于被装饰的函数,log打印的语句是不能变的(除了函数名). 如果有的函数非常重要,希望打印出'[INFO] call xxx()...',有的函数不太重要,希望打印出'[DEBUG] call xxx()...',这时,log函数本身就需要传入'INFO'或'DEBUG'这样的参数,类似这样:

【转】如何在命令行脚本中启动带参数的Windows服务

我们有一个自己编写的Windows服务,我们希望该服务在启动时可以根据用户输入的参数实现不同的功能. 要实现这样的需求并不是很难,下面这个例子我用来示范如何编写该服务 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Diagnostics; 6 using System.Linq; 7 using Syste

SQL脚本带参数,嵌入式写法 C#

public bool UpdateCaseInfo(Dictionary<string, object> Str, long caseId) { using (DbManager db = DbFactory.DB) { string updateStr = ""; List<IDbDataParameter> paraS = new List<IDbDataParameter>(); foreach (var item in Str) { upd

使用ibatis时 sql中 in 的参数赋值(转)

转:http://www.cnblogs.com/sunzhenchao/archive/2012/12/03/2799365.html 一.问题描述: 1.在使用ibatis执行下面的sql: update jc_jiesuan set doing_time = unix_timestamp(curdate()),doing_status = ?           where id in (?) and current_oprerate_type = ? 2.传入的参数是: Paramete

在Java中调用带参数的存储过程

JDBC调用存储过程: CallableStatement 在Java里面调用存储过程,写法那是相当的固定: Class.forName(.... Connection conn = DriverManager.getConnection(.... /** *p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替 *其余地方写法固定 */ CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}"); /*

U 跳转中加入变量参数的写法

href="{:U('Message/news?id='.$vo['messageid'].'')}" 就是在U方法里如果参数是变量就用 '.$i.'代替 {$i}

jQuery获取URL中所带参数的办法

可以使用正则表达式进行结果的拆分: http://www.cnblogs.com/babycool/p/3169058.html 可以直接进行所需内容的split: http://blog.sciencenet.cn/blog-419883-871644.html 对于http://localhost/test.html?id=1的形式,可以采用 var id = $(location).attr('href').split('?')[1].split('=')[1]; 直接获得: