NHibernate 2.0 怎么使用hql查询
/// <summary>/// 使用整套sql语句查询多个对象
/// </summary>
/// <param name="content"></param>
/// <returns></returns>
public static T[] sqlAllArray(string content)
{
if (content == "")
{
return default(T[]);
}
ISession session = DBconnection.OpenSession();
T[] myObject;
try
{
IList list = session.CreateSQLQuery(content).AddEntity(typeof(T)).List();
//sess.CreateSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").AddEntity(typeof(Cat));
if (0 == list.Count)
{
return default(T[]);
}
myObject = new T[list.Count];
for (int i = 0; i < list.Count; i++)
{
myObject[i] = (T)list[i];
}
}
catch
{
myObject = null;
}
finally
{
DBconnection.CloseSession(session);
}
return myObject;
}
这样写报异常
大家帮忙啊
--------------------编程问答-------------------- 是hql?还是sql?
一个是对对象操作,一个是对表操作 --------------------编程问答-------------------- hql
现在的nhibernate 2.0 不是可以使用完整的sql语句了吗?
原来的hql是这样的“from Formula as form, Parameter as param”
现在 2.0不是可以 这样了吗“select * from Formula as form, Parameter as param”
但是我用完整的sql带入,报错误? --------------------编程问答-------------------- 异常信息是什么 --------------------编程问答-------------------- 捕捉到 NHibernate.ADOException
Message="could not execute query\r\n[ select p.nickname from Player as p where p.PositionID='1' and p.YinShenTime <'2008-10-8 15:36:10' and p.Id <>'200024' and p.State='1' order by rank desc ]\r\n[SQL: select p.nickname from Player as p where p.PositionID='1' and p.YinShenTime <'2008-10-8 15:36:10' and p.Id <>'200024' and p.State='1' order by rank desc]"
Source="NHibernate"
StackTrace:
在 NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
在 NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
在 NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
在 NHibernate.Loader.Custom.CustomLoader.List(ISessionImplementor session, QueryParameters queryParameters)
在 NHibernate.Impl.SessionImpl.ListCustomQuery(ICustomQuery customQuery, QueryParameters queryParameters, IList results)
在 NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters, IList results)
在 NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters)
在 NHibernate.Impl.SqlQueryImpl.List()
在 WuJue3.DBOperation`1.sqlAllArray(String content) 位置 F:\xjcy2\legameTwo\leGame\leGame\DB\DBOperation\DBOperation.cs:行号 411
--------------------编程问答-------------------- 那你把这个sql复制到查询分析器里执行一下看看有没有错误不就行了
补充:.NET技术 , .NET Framework