/**
* 功能:员工查询
* 方法参数:
* strEmpIdOrEmpName:员工ID 或者 员工名称
* strQueryType:员工查询类型 "0": "员工编号"; "1": "员工名称"
* strOrgId:当前所在组织
* strQualifType:资格条件
* strTicketType:票型
*/
public static List<EmployeeTableBean> getEmployeeInfo(String strEmpIdOrEmpName, String strEmployeeQueryType,
String strOrgId, String strQualifyType, String strTicketType) { List<EmployeeTableBean> lResutEmployeeTableBeanLt = new ArrayList<EmployeeTableBean>(); //拼接sql
String queryString = "SELECT DISTINCT * FROM " + EmployeeTableBeanDao.TABLENAME + " where 1==1 AND "+
EmployeeTableBeanDao.Properties.ORG_ID.columnName + " = ? AND " +
EmployeeTableBeanDao.Properties.QUALIF_TYPE.columnName + " = ? AND " +
EmployeeTableBeanDao.Properties.TICKET_TYPE.columnName + " = ? " ; //如果输入查询条件--员工编号
if (strEmployeeQueryType.equals(EmployeeQueryType.EMP_ID.getTypeId())) {
queryString = queryString + " and "
+ EmployeeTableBeanDao.Properties.EMP_ID.columnName + " like '%" + strEmpIdOrEmpName + "%' ";
//如果输入查询条件--员工名称
}else if (strEmployeeQueryType.equals(EmployeeQueryType.EMP_NAME.getTypeId())){
queryString = queryString + " and "
+ EmployeeTableBeanDao.Properties.EMP_NAME.columnName + " like '%" + strEmpIdOrEmpName + "%' ";
} queryString = queryString + " and "+
EmployeeTableBeanDao.Properties.EMP_ID.columnName + " IN ( SELECT " +
DigitalSignatureTableBeanDao.Properties.PERSON_ID.columnName + " FROM " +
DigitalSignatureTableBeanDao.TABLENAME + " ) "; String [] strsParam=new String[3];
strsParam[0] = strOrgId;
strsParam[1] = strQualifyType;
strsParam[2] = strTicketType; Cursor cursor = getDaoSession().getEmployeeTableBeanDao().getDatabase().rawQuery(queryString, strsParam); int intEMP_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.EMP_NAME.columnName);
int intEMP_IDIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.EMP_ID.columnName);
int intQUALIF_TYPE_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.QUALIF_TYPE_NAME.columnName);
int intTICKET_TYPE_NAMEIndex = cursor.getColumnIndex(EmployeeTableBeanDao.Properties.TICKET_TYPE_NAME.columnName); while (cursor.moveToNext()) {
EmployeeTableBean lEmployeeTableBean = new EmployeeTableBean();
lEmployeeTableBean.setEMP_NAME(cursor.getString(intEMP_NAMEIndex));
lEmployeeTableBean.setEMP_ID(cursor.getString(intEMP_IDIndex));
lEmployeeTableBean.setQUALIF_TYPE_NAME(cursor.getString(intQUALIF_TYPE_NAMEIndex));
lEmployeeTableBean.setTICKET_TYPE_NAME(cursor.getString(intTICKET_TYPE_NAMEIndex));
lResutEmployeeTableBeanLt.add(lEmployeeTableBean);
}
return lResutEmployeeTableBeanLt;
}

查询结果如下

GreenDao-自定义SQL查询-AndroidStudio的更多相关文章

  1. CI中自定义SQL查询,LIKE模糊查询的处理

    参考: /** * 据用户输入的关键字查询相册信息;照片墙搜索框功能 * @param $keyWord 关键字 * @param $pageNum 页码,第几页 * @param $pageSize ...

  2. Activiti流程 关于自定义sql查询

    由于才接触Activiti不久,对于表结构也不熟悉,甚至可以说连那些表对应的实体类都搞不清楚,又不能通过Activiti自带的链式查询实现:在这种情况下跟不知道怎么通过sql去实现自己想要的查询.上网 ...

  3. phpcmsv9自定义sql语句查询模型实现

    在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...

  4. vba 自定义菜单与vba通过sql查询

    1.自定义菜单 首选需要开发“开发工具”菜单 文件--选项--自定义功能区--开发工具 勾选 .定义用户窗体或者宏 ) 定义用户窗体 Alt+F11进入Microsoft Visual Basic f ...

  5. spring boot 自定义sql分页查询

    1.自定义sql查询分页 @Override public <T> Page<T> pageSQL(@Nonnull String sql, @Nonnull Pageable ...

  6. Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询

    1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...

  7. thinkjs中自定义sql语句

    一直以为在使用thinkjs时,只能是它自带的sql语句查询,当遇到类似于这样的sql语句时,却不知道这该怎样来写程序,殊不知原来thinkjs可以执行自定义sql语句 SELECT * from a ...

  8. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  9. WordPress 常用数据库SQL查询语句大全

    在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...

随机推荐

  1. Python入门-随机漫步

    Python入门-随机漫步,贴代码吧,都在代码里面 代码1 class文件 random_walk.py from random import choice class RandomWalk(): # ...

  2. 19.python设置单线程和多线程

    1.单线程实例: 代码如下: from time import ctime,sleep def music(A): for i in range(2): print ("I was list ...

  3. SVG:中国地图

    中国地图 <svg height="578" version="1.1" width="718" xmlns="http:/ ...

  4. SpringMVC源码学习之request处理流程

    目的:为看源码提供调用地图,最长调用逻辑深度为8层,反正我是springMVC源码学习地址看了两周才理出来的. 建议看完后还比较晕的,参照这个简单的模型深入底层,仿SpringMVC自己写框架,再来理 ...

  5. 模板引擎Dot

    Dot.js 很轻,处理速度也快,作为将json数据赋值到html页面的最好帮手. html5新引入的<template></template>就不用原先的<script ...

  6. Eclipse SVN文件冲突及不能直接提交情况

    下图为Eclipse SVN使用过程中存在文件冲突的情形. 以下是三种冲突情形及相应解决办法: 1.简单的文件版本冲突 情形:A改变了文件的头部,B改变了文件的尾部,如果两者改动互不影响,SVN可以智 ...

  7. 一次docker中的nginx进程响应慢问题定位记录

    有个ft测试的环境,其中nginx使用docker发布的.测试用例是curl的时候,没有获得nginx的响应. docker ps CONTAINER ID IMAGE COMMAND CREATED ...

  8. webpack打包avalon+mmRouter

    这是上一篇<webpack打包avalon+oniui+jquery>的姐妹篇,avalon 的高级应用篇.大家要知道,现在最流行的网页架构就是SPA,SPA能提高用户体验.用户许多数据都 ...

  9. vue启动时报错,node-modules下xxx缺失

    从qq上拷贝了一个项目,解压后打开进vscode,安装依赖与scss后启动,显示node-modules下xxx指向缺失(想不起来是哪个缺失了),在网上找了很多解决办法,包括重新安装node 与 np ...

  10. 记录Git的安装过程

    从https://git-scm.com/download/win,选择Windos版本下载. 选择打开的工具,用的Notepad. 下一步 下一步