2010-04-05 28 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

相關問題