2016-09-22 81 views
0

參數我在其中的參數希望這個引號之間的查詢字符串:調試,他告訴我找不到參數代碼時上找不到查詢字符串

select * from myTable t 
where t.name= ':name' 

但是:

protected bool validName(string n, NHibernate.ISession sesion){ 


var result= sesion.CreateSQLQuery(Queries.getQuery("queryName")) 
       .SetParameter("name", n) 
       .UniqueResult(); 

回答

0

查詢解析器應該爲您的應用sql語句。嘗試做您的查詢是這樣的:

select * from myTable t where t.name = :name 

我想你使用HQL建議,樣品:

var result = session.CreateQuery("from Entity t where t.name = :name") 
        .SetParameter("name", n) 
        .UniqueResult(); 

哪裏Entity是引用您的表(通過映射)的實體。

0

撇號用於表示文字字符串。它們應該也不能用於參數名稱。