2010-04-05 17 views

回答

0

你需要使用SQL LIKE时逃跑的特殊字符,尝试传递参数作为@"\" + ":";

+0

Hey..it没有帮助... – Jango 2010-04-06 14:39:04

+0

请出示调用查询的代码。另请参阅此问题的接受答案:http://stackoverflow.com/questions/2492984/how-do-i-escape-a-like-clause-using-nhibernate-criteria – 2010-04-06 14:50:10

+0

这是转义特殊字符后的内部异常...“ {”并非所有命名参数已设置:[%] [SELECT COUNT(*)FROM Table t WHERE t.FirstName LIKE'\\:%']“} – Jango 2010-04-06 14:56:24

2

您可能正在创建一个错误的方式查询(连接字符串,也许?)

所有这些工作:

session.CreateCriteria<Test2>() 
     .Add(Restrictions.Like("FirstName", ":%")) 
     .UniqueResult<Test2>(); 

session.CreateQuery("from Test2 where FirstName like :expr") 
     .SetParameter("expr", ":%") 
     .UniqueResult<Test2>(); 
+0

你真的是对的,通过连接字符串来准备adhoc查询... – Jango 2010-04-05 18:40:56

相关问题