GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio
//获取本地Pad(离线工作票列表)
public static List<WTDetailTableBean> getPadWTList(String token,
String userId,
String org,
String dept,
String strClass,
String ticketNo,
String type,
String status,
String isEvaluated,
String exceedTimeLimit,
String error,
String workLeader,
String signatory,
String content,
String createTimeLimit,
String year,
String workLeaderOpenTime,//工作负责人签字时间从
String workLeaderCloseTime,//工作负责人签字时间到
String allowEndOpenTime,
String allowEndCloseTime,
String page_number,
String each_page){ List<WTDetailTableBean> lWTDetailTableBeanLt = new ArrayList<WTDetailTableBean>(); //请求参数
ArrayList<String> strParamLt = new ArrayList<String>(); String queryString =
"SELECT DISTINCT * FROM " + WTDetailTableBeanDao.TABLENAME + " where 1==1 ";
//组织
if (!CommonUtil.isNull(org)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.ORG_ID.columnName + " = ?";
strParamLt.add(org);
}
//部门
if (!CommonUtil.isNull(dept)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.UNIT_ID.columnName + " = ?";
strParamLt.add(dept);
}
//班组
if (!CommonUtil.isNull(strClass)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.CLASS_ID.columnName + " = ?";
strParamLt.add(strClass);
}
//票号
if (!CommonUtil.isNull(ticketNo)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.TICKET_NO.columnName + " like '%" + ticketNo + "%' ";
} //状态
if (!CommonUtil.isNull(status)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.STATUS.columnName + " = ?";
strParamLt.add(status);
} //工作负责人
if (!CommonUtil.isNull(workLeader)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_RESPONSOR_NAME.columnName + " like '%" + workLeader + "%' ";
} //签字人
if (!CommonUtil.isNull(signatory)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_FIRST_NAME.columnName + " like '%" + signatory + "%' "; queryString = queryString + " or "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_SECOND_NAME.columnName + " like '%" + signatory + "%' "; } //工作内容
if (!CommonUtil.isNull(content)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName + " like '%" + content + "%' ";
} //工作负责人签字时间从 和 工作负责人签字时间到 都不为空
if (!CommonUtil.isNull(workLeaderOpenTime) && !CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + workLeaderCloseTime + "' ";
//工作负责人签字时间从 不为空 和 工作负责人签字时间到 为空
}else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '" + workLeaderOpenTime + "' AND '" + CommonUtil.getCurrentTime() + "' ";
//工作负责人签字时间从 为空 和 工作负责人签字时间到 不为空
}else if (!CommonUtil.isNull(workLeaderOpenTime) && CommonUtil.isNull(workLeaderCloseTime)){
queryString = queryString + " and "
+ WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName + " BETWEEN '2000-01-01 00:00:00' AND '" + workLeaderCloseTime + "' ";
} Object [] objs=strParamLt.toArray();
String [] strs=new String[objs.length];
for(int i=0;i<objs.length;i++){
strs[i]=objs[i].toString();
} Cursor cursor = getDaoSession().getWTDetailTableBeanDao().getDatabase().rawQuery(queryString, strs); int intTicketIdIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_ID.columnName);
int intTicketNoIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_NO.columnName);
int intTicketTypeIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.TICKET_TYPE.columnName);
int intStatusIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.STATUS.columnName);
int intWorkResponsorJobIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_RESPONSOR_JOB.columnName);
int intWorkSignThridDateIndex = cursor.getColumnIndex(WTDetailTableBeanDao.Properties.WORK_SIGN_THRID_DATE.columnName); while (cursor.moveToNext()) {
WTDetailTableBean lWTDetailTableBean = new WTDetailTableBean();
lWTDetailTableBean.setTICKET_ID(cursor.getString(intTicketIdIndex));
lWTDetailTableBean.setTICKET_NO(cursor.getString(intTicketNoIndex));
lWTDetailTableBean.setTICKET_TYPE(cursor.getString(intTicketTypeIndex));
lWTDetailTableBean.setSTATUS(cursor.getString(intStatusIndex));
lWTDetailTableBean.setWORK_RESPONSOR_JOB(cursor.getString(intWorkResponsorJobIndex));
lWTDetailTableBean.setWORK_SIGN_THRID_DATE(cursor.getString(intWorkSignThridDateIndex)); lWTDetailTableBeanLt.add(lWTDetailTableBean); }
return lWTDetailTableBeanLt;
}
页面结果:

GreenDao-自定义SQL查询-拼接多个查询条件-AndroidStudio的更多相关文章
- Mysql 拼接字段查询语句和join查询拼接和时间查询
个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...
- sql like 拼接字符串模糊查询
这种分割的值大家常用,如果要用like 来查询包含2,这个值的数据有哪些,这个怎么查? like '%2%' ????,这是不行的如果是 44,125,687 同样可以查出来,那么就想到通配符, l ...
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题: 浏览器安全限制了前端脚本跨站点的访问资源, ...
- phpcmsv9自定义sql语句查询模型实现
在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...
- ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView
ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...
- Oracle,Mysql ,SQL Server 三大数据库带参数的模糊查询, 拼接查询条件问题
最近项目开发一直在不断切换数据库,有时候一条sql 要同时考虑多种数据库中的兼容问题 , 先总结一条模糊查询拼接查询条件的问题,后续追加总结. 目前使用 mybatis: 1. Oracle 中使 ...
- Sql动态查询拼接字符串的优化
Sql动态查询拼接字符串的优化 最原始的 直接写:string sql="select * from TestTables where 1=1";... 这样的代码效率很低的,这样 ...
- 多条件搜索问题 -sql拼接与参数化查询
来源:传智播客 免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
随机推荐
- urllib2.Request 添加浏览器简单反爬 结合BeautifulSoup解析标签
- 配置Eclipse的Maven环境
- 中国大学mooc直播回放看这里哦http://www.icourse163.org/forum/1001974001/topic-1003372881.htm?sortType=1&pageIndex=1
中国大学mooc直播回放看这里哦http://www.icourse163.org/forum/1001974001/topic-1003372881.htm?sortType=1&pageI ...
- 安装 docker管理 工具 页面 portainer
sudo docker run -d -p 7998:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data ...
- leetcode988
public class Solution { private Stack<string> ST = new Stack<string>(); private string S ...
- Ubuntu下无法使用Secure_CRT连接服务器
虚拟机使用 1 .指令安装了SSH服务器 sudo apt-get install openssh-server 2. 输入命令 ps | grep ssh 查看SSH服务是否开启 显示服务已开启 3 ...
- Oracle的基本数据类型(常用)
转自:https://www.2cto.com/database/201810/783959.html 1.字符型 Char 固定长度字符串 占2000个字节 Varchar2 可变长度字符串 占40 ...
- java环境变量配置方法
原创文章,转载请注明出处. 这是本人2011-9-4记录的,现在把它放在博客上. windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 ...
- 20165304《Java程序设计》第五周学习总结
教材学习内容总结 第七章 1.内部类 注意内部类和外嵌类的关系: 外嵌类的成员变量和方法在内部类有效 内部类的类体不可以声明static变量和方法.外嵌类的类体可以用内部类声明对象. 内部类仅供它的外 ...
- 机器学习入门-数值特征-连续数据离散化(进行分段标记处理) 1.hist(Dataframe格式直接画直方图)
函数说明: 1. .hist 对于Dataframe格式的数据,我们可以使用.hist直接画出直方图 对于一些像年龄和工资一样的连续数据,我们可以对其进行分段标记处理,使得这些连续的数据变成离散化 就 ...