ITPUB??ì3
ITPUB论坛 » Web开发 » ASP.NET与AJAX » NHibernate 下使用CASE WHEN函数

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: NHibernate 下使用CASE WHEN函数
离线 cayman811
高级会员



精华贴数 3
个人空间 0
技术积分 8279 (150)
社区积分 6 (14508)
注册日期 2006-8-9
论坛徽章:5
开发板块每日发贴之星开发板块每日发贴之星ITPUB新首页上线纪念徽章   
      

发表于 2008-5-14 09:15 
NHibernate 下使用CASE WHEN函数

我在HQL里写了这样的SQL文,跑不过去呀....报下面的错误..高手指点下!!小弟不胜感激!
代码:
Dim dbSession As ISession = DataBase.GetCurrentSession()
        Dim strHql As New StringBuilder

        Try

            strHql.Append("SELECT a.USER_ID, a.USER_NAME,")
            strHql.Append(" CASE WHEN a.USER_SEX = '0' THEN '男' ELSE '女' END AS BIRTHDAY ,")
            strHql.Append(" DATEDIFF(year, CONVERT(datetime, a.USER_BTHDY), GETDATE()) AS AGE,")
            strHql.Append(" a.USER_TEL, a.USER_MOBILE, a.USER_MAIL FROM MT_USER a")

            Dim userInfo As IList = dbSession.CreateQuery(strHql.ToString).List()


        Catch ex As Exception
            Throw ex
        Finally
            DataBase.CloseSession()
        End Try

错误信息:undefined alias or unknown mapping: CASE [SELECT a.USER_ID, a.USER_NAME, CASE WHEN a.USER_SEX = '0' THEN '男' ELSE '女' END AS BIRTHDAY , DATEDIFF(year, CONVERT(datetime, a.USER_BTHDY), GETDATE()) AS AGE, a.USER_TEL, a.USER_MOBILE, a.USER_MAIL FROM Dmax.Core.MT_USER a]

还有,HQL里支持这些函数吗?比如我里面用到的DATEDIFF,CONVERT等...如果能用,那么该怎么用呢..请高手指点!


只看该作者    顶部
离线 hanfeishu
中级会员



精华贴数 0
个人空间 0
技术积分 4172 (341)
社区积分 0 (1286029)
注册日期 2007-2-28
论坛徽章:19
开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-5-14 09:15 
SQL codecase when , DATEDIFF

  
等是 SQL Server 中的函数,hql语句中没有


只看该作者    顶部
离线 cyntha80
中级会员



精华贴数 1
个人空间 0
技术积分 4669 (293)
社区积分 2 (30336)
注册日期 2007-2-8
论坛徽章:20
开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-5-14 09:16 
那也就是说HQL不支持这些查询呗?那如遇到这样的问题咋办呀...HQL也太弱了吧


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问