NHibernate -- HQL

使用NHibernate中的HQL来查询数据。

 

代码:

1         /// <summary>
2         /// 查找事件
3         /// </summary>
4         private void btn_Select_Click(object sender, EventArgs e)
5         {
6 
7         }

 

 

 

 

1.查询,且是使用参数:

 1             //**** 查询 *****
 2             IQuery query = session.CreateQuery("from Person p where p.Id = ? and p.Name = :name");
 3 
 4             //NHibernate中使用参数
 5             //一种是用 "?" ,一种使用 ":"。如果使用?,那么直接表示位置,如果使用:,那么使用:后面的文件名
 6             //在NHibernate中的语句:
 7             //NHibernate: select person0_.Id as Id0_, person0_.Name as Name0_ from Person person0_ where person0_.Id=@p0 and person0_.Name=@p1;@p0 = 2, @p1 = '事件aaaaaaaa'
 8             //此时 0 代表是第一个参数
 9             //此时 1 代表是第二个参数
10             query.SetParameter(0, 2);                   //使用 ?
11             query.SetParameter("name", "测试");         //使用 :  
12 
13             IList<Person> list = query.List<Person>();
14 
15             this.label3.Text = list[0].Id.ToString() + list[0].Name.ToString();

 

 

 

 

 

2.查询--指定查询的条数,如从第2条--第5条数据:

 1             //**** 查询指定行数****
 2             IQuery query = session.CreateQuery("from Person");
 3 
 4             IList<Person> list = query.List<Person>();
 5 
 6             //重新给list赋值
 7             //查询3--5条之间的数据,使用的是下标索引,0代表第一条。
 8             list = list.Skip<Person>(3).Take<Person>(5).ToList<Person>();
 9 
10             this.label3.Text = list[2].Id.ToString() + " " + list[2].Name.ToString();

 

 

 

 

 

将1或是2,放在最上面的代码中即可。

 

转载于:https://www.cnblogs.com/KTblog/p/4510081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值