2016-09-22 58 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

撇号用于表示文字字符串。它们应该也不能用于参数名称。