升级到Nhibernate 3后出现奇怪问题
嗨 我有一个映射到日期字段的查询。 升级到NHibernate 3后,出现以下错误:升级到Nhibernate 3后出现奇怪问题,nhibernate,informix,Nhibernate,Informix,嗨 我有一个映射到日期字段的查询。 升级到NHibernate 3后,出现以下错误: could not execute query [ select a.agency_num, cd.comp_name, sd.sib_number, sd.sib_type_label, ad.add_line1, ad.add_line2, ad.add_line3, ad.add_line4, ad.post_code, ad.country_label from agency a, company_de
could not execute query
[ select a.agency_num, cd.comp_name, sd.sib_number, sd.sib_type_label,
ad.add_line1, ad.add_line2, ad.add_line3, ad.add_line4, ad.post_code,
ad.country_label
from
agency a, company_details cd, sib_dets sd, address ad
where
a.contact_ser = cd.contact_ser
and a.contact_ser = sd.contact_ser
and a.contact_ser = ad.contact_ser
and a.current_ser = 10
and a.start_date <= ?
and (a.end_date is null or a.end_date >= ?)
and cd.current_ser = 10
and cd.start_date <= ?
and (cd.end_date is null or cd.end_date >= ?)
and sd.current_ser = 10
and sd.start_date <= ?
and (sd.end_date is null or sd.end_date >= ?)
and ad.current_ser = 10
and ad.start_date <= ?
and (ad.end_date is null or ad.end_date >= ?) ]
Name:dateValid - Value:18/02/2011 00:00:00
[SQL: select a.agency_num, cd.comp_name, sd.sib_number,
sd.sib_type_label,
ad.add_line1, ad.add_line2, ad.add_line3, ad.add_line4, ad.post_code,
ad.country_label
from
agency a, company_details cd, sib_dets sd, address ad
where
a.contact_ser = cd.contact_ser
and a.contact_ser = sd.contact_ser
and a.contact_ser = ad.contact_ser
and a.current_ser = 10
and a.start_date <= ?
and (a.end_date is null or a.end_date >= ?)
and cd.current_ser = 10
and cd.start_date <= ?
and (cd.end_date is null or cd.end_date >= ?)
and sd.current_ser = 10
and sd.start_date <= ?
and (sd.end_date is null or sd.end_date >= ?)
and ad.current_ser = 10
and ad.start_date <= ?
and (ad.end_date is null or ad.end_date >= ?)]
无法执行查询
[选择代理编号、cd.comp名称、sd.sib编号、sd.sib类型标签,
ad.add_line 1、ad.add_line 2、ad.add_line 3、ad.add_line 4、ad.post_code、,
广告国家/地区标签
从…起
代理a,公司详细信息cd,sib详细信息sd,地址广告
哪里
a、 contact\u ser=cd.contact\u ser
和a.contact\u ser=sd.contact\u ser
和a.contact\u ser=ad.contact\u ser
a.电流=10
和a.start_date=?)
和cd.current_ser=10
和cd.start_date=?)
和sd.current_ser=10
和sd.start_date=?)
和ad.current_ser=10
和ad.start_date=?)]
名称:dateValid-值:18/02/2011 00:00:00
[SQL:选择a.agency\u num、cd.comp\u name、sd.sib\u number、,
sd.sib_类型_标签,
ad.add_line 1、ad.add_line 2、ad.add_line 3、ad.add_line 4、ad.post_code、,
广告国家/地区标签
从…起
代理a,公司详细信息cd,sib详细信息sd,地址广告
哪里
a、 contact\u ser=cd.contact\u ser
和a.contact\u ser=sd.contact\u ser
和a.contact\u ser=ad.contact\u ser
a.电流=10
和a.start_date=?)
和cd.current_ser=10
和cd.start_date=?)
和sd.current_ser=10
和sd.start_date=?)
和ad.current_ser=10
和ad.start_date=?)]
内部的例外是:
{“参数名为'p0'的IfxParameter已包含在
这是IfxParameterCollection。“}
有人知道这是为什么吗?它在上一版本下工作正常
亚硝酸铵
这是我的NHibernate代码:
using (ISession session = NHibernateHelper.OpenSession(FACTORY_NAME))
{
IQuery query = session.GetNamedQuery("GetAllAgents");
query.SetDateTime("dateValid", dateValid.Date);
agents = query.List<AgencySearchData>();
}
使用(ISession session=NHibernateHelper.OpenSession(工厂名称))
{
IQuery=session.GetNamedQuery(“GetAllAgents”);
query.SetDateTime(“dateValid”,dateValid.Date);
agents=query.List();
}
这是我的映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="SeiDomain"
namespace="Sei.Domain.Entity">
<class name="AgencySearchData">
<id name="AgencyNumber" column="agency_num"/>
<property name="Name" column="comp_name" />
<property name="SibNumber" column="sib_number" />
<property name="SibType" column="sib_type_label" />
<property name="Address1" column="add_line1" />
<property name="Address2" column="add_line2" />
<property name="Address3" column="add_line3" />
<property name="Address4" column="add_line4" />
<property name="Postcode" column="post_code" />
<property name="Country" column="country_label" />
</class>
<sql-query name="GetAllAgents">
<return alias="agencySearchData" class="AgencySearchData"/>
<![CDATA[select a.agency_num, cd.comp_name, sd.sib_number,
sd.sib_type_label,
ad.add_line1, ad.add_line2, ad.add_line3, ad.add_line4, ad.post_code,
ad.country_label
from
agency a, company_details cd, sib_dets sd, address ad
where
a.contact_ser = cd.contact_ser
and a.contact_ser = sd.contact_ser
and a.contact_ser = ad.contact_ser
and a.current_ser = 10
and a.start_date <= :dateValid
and (a.end_date is null or a.end_date >= :dateValid)
and cd.current_ser = 10
and cd.start_date <= :dateValid
and (cd.end_date is null or cd.end_date >= :dateValid)
and sd.current_ser = 10
and sd.start_date <= :dateValid
and (sd.end_date is null or sd.end_date >= :dateValid)
and ad.current_ser = 10
and ad.start_date <= :dateValid
and (ad.end_date is null or ad.end_date >= :dateValid)]]>
</sql-query>
</hibernate-mapping>
=:dateValid)
和cd.current_ser=10
和cd.start_date=:dateValid)
和sd.current_ser=10
和sd.start_date=:dateValid)
和ad.current_ser=10
和ad.start_date=:dateValid)]]>
我相信这可能与
看看这个修正是否对你有效,并投赞成票。我相信这可能与你有关 看看这个解决方案是否适合你,然后投票支持它