GreenDao-自定义SQL查询-AndroidStudio
/**
* 功能:员工查询
* 方法参数:
* 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的更多相关文章
- CI中自定义SQL查询,LIKE模糊查询的处理
参考: /** * 据用户输入的关键字查询相册信息;照片墙搜索框功能 * @param $keyWord 关键字 * @param $pageNum 页码,第几页 * @param $pageSize ...
- Activiti流程 关于自定义sql查询
由于才接触Activiti不久,对于表结构也不熟悉,甚至可以说连那些表对应的实体类都搞不清楚,又不能通过Activiti自带的链式查询实现:在这种情况下跟不知道怎么通过sql去实现自己想要的查询.上网 ...
- phpcmsv9自定义sql语句查询模型实现
在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...
- vba 自定义菜单与vba通过sql查询
1.自定义菜单 首选需要开发“开发工具”菜单 文件--选项--自定义功能区--开发工具 勾选 .定义用户窗体或者宏 ) 定义用户窗体 Alt+F11进入Microsoft Visual Basic f ...
- spring boot 自定义sql分页查询
1.自定义sql查询分页 @Override public <T> Page<T> pageSQL(@Nonnull String sql, @Nonnull Pageable ...
- Thinkphp查询 1.查询方式 2.表达式查询 3.快捷查询 4.区间查询 5.组合查询 6.统计查询 7.动态查询 8.SQL 查询
1.使用字符串作为条件查询 $user = M('User'); var_dump($user->where('id=1 AND user="蜡笔小新"')->sele ...
- thinkjs中自定义sql语句
一直以为在使用thinkjs时,只能是它自带的sql语句查询,当遇到类似于这样的sql语句时,却不知道这该怎样来写程序,殊不知原来thinkjs可以执行自定义sql语句 SELECT * from a ...
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- WordPress 常用数据库SQL查询语句大全
在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...
随机推荐
- python时间日期字符串各种
python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime # 字符类型的时间 tss1 = ...
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- 框架: require.js
require.js http://www.bootcdn.cn/require.js/ HTML: <div class="container" data-page=&qu ...
- Jmeter性能测试基础
压力测试 压力测试分两种场景:一种是单场景,压一个接口的:第二种是混合场景,多个有关联的接口.压测时间,一般场景都运行10-15分钟.如果是疲劳测试,可以压一天或一周,根据实际情况来定. 压测任务 ...
- Windows环境安装Django步骤
前提:已经安装Python 1.先从Django官网下载压缩包:https://www.djangoproject.com/download/ 2.解压Django,如我解压到 D:\Python\D ...
- HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现
HashMap:底层是一个数组+链表实现 LinkedHashMap:底层是Hash表和链表的实现 ConcurrentHashMap:基于双数组和链表的Map接口的同步实现 ArrayList:底层 ...
- tips___代码规范
函数变量尽可能置于最小作用域内,并在变量声明时进行初始化 变量声明的位置最好离第一次使用的位置越近越好:应使用初始化的方式代替声明再赋值. int x=0; rather than int x; x ...
- Servlet开发
源地址:http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...
- avalon2学习教程01
经过难苦奋战,avalon2终于面世了.这花了大半年时间,其中1.6还胎死腹中.长达半年没有产出,我都担心自己会被裁掉…… avalon2许多API与1.4.×保持一致,当然也添加了一些1.5的功能, ...
- 【剑指offer】从尾到头翻转打印单链表
#include <iostream> #include <vector> #include <stack> using namespace std; struct ...