Nhibernate中多Or条件的查询,很多Or的查询
public IList<object[]> GetRequestAllByUserCodeUnitSysClassify1(string unitNo, string system, string classify, string requestNo, string[] pointArray, int pageIndex, int pageSize, out int totalRows)
{
this.Dispose();
if (dataBaseSession == null)
{
dataBaseSession = DataBaseSession;
}
string sql = "select a.code,a.requestno,a.unitno,a.system,a.classify,a.requestdepart,a.applieduser,a.appliedtime,a.billtypecode from Tca_Request a,TCA_Billtype b";
sql += " where a.billtypecode=b.code";
if (!string.IsNullOrEmpty(unitNo))
{
sql += " and a.UnitNo=:UnitNo";
}
if (!string.IsNullOrEmpty(system))
{
sql += " and a.System=:System";
}
if (!string.IsNullOrEmpty(classify))
{
sql += " and a.Classify=:Classify";
}
if (!string.IsNullOrEmpty(requestNo))
{
sql += " and a.RequestNo=:RequestNo";
}
if (pointArray[] != "")
{
string strstart = pointArray.Count() == ? ")" : "";
for (int i = ; i < pointArray.Count(); i++)
{
if (i == )
{
sql += " and (b.TypeFlag=:TypeFlag" + i + strstart;
}
else if (i + == pointArray.Count())
{
sql += " or b.TypeFlag=:TypeFlag" + i + ")";
}
else
{
sql += " or b.TypeFlag=:TypeFlag" + i;
}
}
}
sql += " order by a.AppliedTime desc";
IQuery Sqlquery = dataBaseSession.CreateSQLQuery(sql);
if (!string.IsNullOrEmpty(requestNo))
{
Sqlquery.SetParameter("RequestNo", requestNo);
}
if (!string.IsNullOrEmpty(unitNo))
{
Sqlquery.SetParameter("UnitNo", unitNo);
}
if (!string.IsNullOrEmpty(system))
{
Sqlquery.SetParameter("System", system);
}
if (!string.IsNullOrEmpty(classify))
{
Sqlquery.SetParameter("Classify", classify);
}
if (pointArray[] != "")
{
for (int i = ; i < pointArray.Count(); i++)
{
Sqlquery.SetParameter("TypeFlag" + i, pointArray[i]);
}
}
totalRows = int.Parse(Sqlquery.List().Count.ToString());
Sqlquery.SetFirstResult((pageIndex - ) * pageSize);
Sqlquery.SetMaxResults(pageIndex * pageSize);
return Sqlquery.List<object[]>();
}
Nhibernate中多Or条件的查询,很多Or的查询的更多相关文章
- 【MySQL】02_子查询与多表查询
子查询 指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入. SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 ...
- Oracle子查询之高级子查询
Oracle 高级子查询 高级子查询相对于简单子查询来说,返回的数据行不再是一列,而是多列数据. 1,多列子查询 主查询与子查询返回的多个列进行比较 查询与141号或174号员工的manager_id ...
- NHibernate中,查询SqlServer数据库多个实体对象
关于datetime类型使用: Oracle: "and tb.EffectiveDate >= to_date(?,'yyyy-mm')" Sql: "an ...
- SQL 中的多条件查询
在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...
- Hibernate多对多关联映射的HQL中的in条件查询问题
群里有朋友求解一个问题,高分求一条HQL多对多查询语句 . 问题描述见 http://topic.csdn.net/u/20090621/16/4eac6fe0-bf3e-422e-a697-f758 ...
- MySql数据查询中 left join 条件位置区别
/*A 和 B 两张表都只有一个 ID 字段 比如A表的数据为 ID 1,2,3,4,5,6 B表的数据为 ID 1,2,3 判断 JOIN 查询时候条件在 ON 和 WHERE 时的区别 ON 和 ...
- [转]NHibernate之旅(10):探索父子(一对多)关联查询
本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...
- NHibernate中的API
本篇文章介绍的是NHibernate的各种API及其作用. 下图描述了NHibernate的API在分层架构中的作用,下面将进行详细说明. NHibernate的接口大致分为四类:1. 被应用程序调 ...
- .NET中那些所谓的新语法之四:标准查询运算符与LINQ
开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ.标准查询运算符是定义在System.Linq.Enumerable类中的50 ...
随机推荐
- java开始到熟悉103-104
本次内容:linkedlist() 此次是承接上次arraylist(),自己实现linkedlist()(内容较少) package list; /** * 自定义linkedlist类 * @au ...
- Django进阶之Form
Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一.创建Form类 #!/usr/bin/en ...
- HDFS源代码分析(二)-----元数据备份机制
前言 在Hadoop中,全部的元数据的保存都是在namenode节点之中,每次又一次启动整个集群,Hadoop都须要从这些持久化了的文件里恢复数据到内存中,然后通过镜像和编辑日志文件进行定期的扫描与合 ...
- linux 块设备驱动(二)——块设备数据结构
本文来源于: 1. http://www.cnblogs.com/dyllove98/archive/2013/07/01/3165567.html 块设备相关的数据结构以及接口: 块设备接口则相对复 ...
- 【BZOJ4668】冷战 并查集
[BZOJ4668]冷战 Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺 ...
- wcf系列(一)--- 寄宿方式
一.自我寄宿(self-hosting) 1.wcf采用基于终结点(Endpoint)的通信手段:终结点由:地址(Address)+绑定(Binding)+契约(Contract)组成: Enpoi ...
- Transforming Auto-encoders
http://www.cs.toronto.edu/~hinton/absps/transauto6.pdf The artificial neural networks that are used ...
- 诡异的json包含bom头
今日项目碰到 需要调用php的一个接口 结果一直报返回的json字符串转对象 bom头报错 Exception in thread "main" com.fasterxml.j ...
- Vue.js的动态组件模板
组件并不总是具有相同的结构.有时需要管理许多不同的状态.异步执行此操作会很有帮助. 实例: 组件模板某些网页中用于多个位置,例如通知,注释和附件.让我们来一起看一下评论,看一下我表达的意思是什么.评论 ...
- codeforces 570D.Tree Requests
[题目大意]: 给定一棵树,树的每个节点对应一个小写字母字符,有m个询问,每次询问以vi为根节点的子树中,深度为hi的所有节点对应的字符能否组成一个回文串: [题目分析]: 先画个图,可看出每次询问的 ...