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的查询的更多相关文章

  1. 【MySQL】02_子查询与多表查询

    子查询 指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入. SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 ...

  2. Oracle子查询之高级子查询

    Oracle 高级子查询 高级子查询相对于简单子查询来说,返回的数据行不再是一列,而是多列数据. 1,多列子查询 主查询与子查询返回的多个列进行比较 查询与141号或174号员工的manager_id ...

  3. NHibernate中,查询SqlServer数据库多个实体对象

    关于datetime类型使用:  Oracle:  "and tb.EffectiveDate >= to_date(?,'yyyy-mm')" Sql:  "an ...

  4. SQL 中的多条件查询

    在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...

  5. Hibernate多对多关联映射的HQL中的in条件查询问题

    群里有朋友求解一个问题,高分求一条HQL多对多查询语句 . 问题描述见 http://topic.csdn.net/u/20090621/16/4eac6fe0-bf3e-422e-a697-f758 ...

  6. MySql数据查询中 left join 条件位置区别

    /*A 和 B 两张表都只有一个 ID 字段 比如A表的数据为 ID 1,2,3,4,5,6 B表的数据为 ID 1,2,3 判断 JOIN 查询时候条件在 ON 和 WHERE 时的区别 ON 和 ...

  7. [转]NHibernate之旅(10):探索父子(一对多)关联查询

    本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...

  8. NHibernate中的API

    本篇文章介绍的是NHibernate的各种API及其作用. 下图描述了NHibernate的API在分层架构中的作用,下面将进行详细说明. NHibernate的接口大致分为四类:1.  被应用程序调 ...

  9. .NET中那些所谓的新语法之四:标准查询运算符与LINQ

    开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ.标准查询运算符是定义在System.Linq.Enumerable类中的50 ...

随机推荐

  1. overflow滚动条样式设置,ie和webkit内核

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Linux中du和df

    Linux运维过程中,常常发现du和df返回值不一样,偶尔会发现区别非常大. 特定情况下,可能df看到磁盘已满,可是du推断磁盘剩余空间非常大. 文件系统分配当中的一些磁盘块用来记录它自身的一些数据. ...

  3. 微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服

    微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服 2014/10/08 · Testin · 开发人员訪谈 2013年11月1日,谷歌运行董事长施密特(Eric Emerson Sch ...

  4. 【转载】How to develop your own Boot Loader【怎么样开发自己的bootloader】

    How to develop your own Boot Loader 怎么样开发自己的bootloader Table of content[目录] 1. Who may be interested ...

  5. 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

    http://www.tuicool.com/articles/2MramqI 时间 2014-07-29 09:28:36  点滴之间 聚沙成金 原文  http://www.path8.net/t ...

  6. GuozhongCrawler系列教程 (1) 三大PageDownloader

    GuozhongCrawler  QQ群 202568714 教程源代码下载地址:http://pan.baidu.com/s/1pJBmerL GuozhongCrawler内置三大PageDown ...

  7. 【BZOJ1110】[POI2007]砝码Odw 贪心

    [BZOJ1110][POI2007]砝码Odw Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作.公司有一些固定容量的容器可以装这些砝码 ...

  8. win7 PLSQL Developer 10/11/12 连接 Oracle 10/11/12 x64位数据库配置详解(与32位一样,只要注意对应Oracle Instant Client版本) tns 错误和 nls错误

    环境win7 x64 PLSQL Developer 10 与 11 Oracle Instant Client 10 与 12 参考http://blog.csdn.net/chen_zw/arti ...

  9. 3.改变 HTML 内容

    ①x=document.getElementById("demo") //查找元素 ②x.innerHTML="Hello JavaScript"; //改变内 ...

  10. STM32 CAN通信

    最近在STM32上开发CAN通信相关内容,转载一篇个人认为不错的文章,看完了基本算明白了,能够实际操作了. 原文地址:  https://blog.csdn.net/ludaoyi88/article ...