[英]Nhibernate 2: CreateQuery not supporting chinese character
以下是我的代码:
String hsql = "from Customer c where c.name='测试' ";
IQuery query = _session.CreateQuery(hsql);
query.List();
在执行时,没有引发异常,但是没有查询结果返回(它们应该根据条件c.name='测试'
)
这是NHibernate为hsql生成的sql:
select customer0_.CUSTOMER_NO as CUSTOMER1_, customer0_.CODE as CODE9_, customer0_.NAME as NAME9_, customer0_.STATUS as STATUS9_, customer0_.LAST_OPE RATOR_NO as LAST5_9_
from CUSTOMER customer0_ where (customer0_.NAME='????')
hsql中的中文字符“测试”变为“ ????” 在SQL中。
通过Nhibernate添加客户时,汉字保存成功。 这里的问题仅在我使用CreateQuery搜索文本时出现。 任何帮助将不胜感激。
您可以使用参数尝试吗?
String hsql = "from Customer c where c.name=:name";
IQuery query = _session.CreateQuery(hsql).SetString("name", "测试");
query.List();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.