例如数据库中有个表
表名:Student
字段名分别是:id,name,sex,address我只返回name和sex的所有数据,即select name,sex from student
那么HQL语句该如何写?
表名:Student
字段名分别是:id,name,sex,address我只返回name和sex的所有数据,即select name,sex from student
那么HQL语句该如何写?
解决方案 »
- C#如何生成xml文档
- 关于"索引和长度必须引用该字符串内的位置"的问题!!!!
- 截获 创建文件,删除文件,覆盖文件等操作,然后控制这些操作能否执行 ?
- 新手问题-关于ComboText用户输入的问题
- 用OWC做柱图,无法正确显示百分比
- 各位老大请了!小弟是C#初学者,求一本初级教程,理解起来比较简单的!谢谢了!
- Factory Method的应用??
- 寻求正确连接SQL数据库的语名
- 一个弱弱的问题!!!如何得到数据表中指定内容
- C#呼唤斑竹!
- C#中如何通过应用程序的路径得到对应应用程序的图标放到listview里
- 我通过继承Button类进行改写组件,组件中的代码如下,为什么生成的新的Button不正常
很全的http://www.redsaga.com/hibernate-ref/3.2/html_single/index.html
{
List<Domain.Made> list = new List<Domain.Made>();
using (ISession sn = Service.ORM.Instance.NewSession())
{
//运行的时候下面出错了。。不知何解
list = (List<Domain.Made>)sn.CreateSQLQuery("select madename,model,ms from Made").List<Domain.Made>();
}
return list.ToArray();
}
name sex是student的属性上面就是HQL语句.
我知道呀。。那些name跟属性我都是对应好的了
但是他报了个错:
Return types of SQL query were not specified [select m.MadeName,m.MadeFirstLetter,m.ID from Made m ] public Domain.Made[] LoadAll(string datapropertys)
{
List <Domain.Made> list = new List <Domain.Made>();
using (ISession sn = Service.ORM.Instance.NewSession())
{
//运行的时候下面出错了。。不知何解
list = (List <Domain.Made>)sn.CreateSQLQuery("select madename,model,ms from Made").List <Domain.Made>();
}
return list.ToArray();
}
ZhuJi.Modules.CountModule.Domain.CountHour domainCountHour = new ZhuJi.Modules.CountModule.Domain.CountHour();
hql = string.Format("Select Top 1 * From CountHour as tmp Where tmp.Ip Like '{0}' And DATEDIFF(d,tmp.Addtime,'{1}')=0", ip, addTime);
ISQLQuery sqlQuery = session.CreateSQLQuery(hql);
sqlQuery.AddScalar("Id", NHibernateUtil.Int32);
sqlQuery.AddScalar("Ip", NHibernateUtil.String);
sqlQuery.AddScalar("Pvs", NHibernateUtil.Int32);
sqlQuery.AddScalar("Ips", NHibernateUtil.Int32);
sqlQuery.AddScalar("Cookies", NHibernateUtil.Int32);
sqlQuery.AddScalar("AddTime", NHibernateUtil.DateTime);
IList<ZhuJi.Modules.CountModule.Domain.CountHour> listCountHour = sqlQuery.List<ZhuJi.Modules.CountModule.Domain.CountHour>();
public Domain.Made[] LoadAll(string datapropertys)
{
List<Domain.Made> list = new List<Domain.Made>();
using (ISession sn = Service.ORM.Instance.NewSession())
{
//list = (List<Domain.Made>)sn.CreateSQLQuery("select " + datapropertys + " from Made m ").List<Domain.Made>();
string hql = "select " + datapropertys + " from Made";
ISQLQuery sqlQuery = sn.CreateSQLQuery(hql);
sqlQuery.AddScalar("MadeName", NHibernateUtil.String);
sqlQuery.AddScalar("MadeFirstLetter", NHibernateUtil.String);
sqlQuery.AddScalar("ID", NHibernateUtil.Int32);
list = (List<Domain.Made>)sqlQuery.List<Domain.Made>();
}
return list.ToArray();
}运行后报错:值“System.Object[]”不是“Domain.Made”类型,不能在此泛型集合中使用。
源码:行 72: list = (List<Domain.Made>)sqlQuery.List<Domain.Made>();还是不行哦
public IList<Made> LoadAll(string datapropertys)
{
List <Domain.Made> list = new List <Domain.Made>();
using (ISession sn = Service.ORM.Instance.NewSession())
{
//list = (List <Domain.Made>)sn.CreateSQLQuery("select " + datapropertys + " from Made m ").List <Domain.Made>();
string hql = "select " + datapropertys + " from Made";
ISQLQuery sqlQuery = sn.CreateSQLQuery(hql);
sqlQuery.AddScalar("MadeName", NHibernateUtil.String);
sqlQuery.AddScalar("MadeFirstLetter", NHibernateUtil.String);
sqlQuery.AddScalar("ID", NHibernateUtil.Int32);
return sqlQuery.List <Domain.Made>();
}
}
public IList<Made> LoadAll(string datapropertys)
{
List <Domain.Made> list = new List <Domain.Made>();
using (ISession sn = Service.ORM.Instance.NewSession())
{
//list = (List <Domain.Made>)sn.CreateSQLQuery("select " + datapropertys + " from Made m ").List <Domain.Made>();
string hql = "select " + datapropertys + " from Made";
ISQLQuery sqlQuery = sn.CreateSQLQuery(hql);
sqlQuery.AddScalar("MadeName", NHibernateUtil.String);
sqlQuery.AddScalar("MadeFirstLetter", NHibernateUtil.String);
sqlQuery.AddScalar("ID", NHibernateUtil.Int32);
return sqlQuery.List <Domain.Made>();
}
}
那么hql语句是:select stu.name,stu.sex from student as stu;