这两天我们都在写项目的接口与实现的!

今天主要是遇到的问题: 当我在添加新的班级的时候,班级的老师 我需要去判断这个老师是否存在,如果不存在的话,我就要把这个老师添加到学校的员工表中!

我会先判断这个老师是否存在,但是每次我添加班级的,老师总是会重新添加一条数据。可是我也先判断了,也不知道到底是哪里出了问题。

 public int addClassRoom(ClassRoom cr) {
String sqls = "select * from t_schoolemp where s_name=?";//当输入的老师名字不存在时 查出数据
ResultSet rs = JdbcUtil.executeQuery(sqls, cr.getTeacher().getName());
try {
if (rs.getRow()==0) {//当那个老师不存在的时候 把这个老师添加进入学校员工表中
String sqlAdd = "insert into t_schoolemp values (null,?,?)";
int num = JdbcUtil.executeUpdate(sqlAdd, cr.getTeacher()
.getName(), 6);
}
} catch (SQLException e) {
e.printStackTrace();
}// 添加新的班级
String sql = " insert into t_classromm (cr_name,sl_id,s_id,cr_time,cr_num) values(?,"
+ "(select sl_id from t_shool where sl_name=?) ,"
+ "(select s_id from t_schoolemp where s_name=?),?,?);";
int count = JdbcUtil.executeUpdate(sql, cr.getName(), cr.getSchool()
.getName(), cr.getTeacher().getName(), new Date(), cr
.getClassNum());
return count; }

结果是:

s_id s_name sj_id
18    乖乖乖     6
19    乖乖乖     6

第二个  就是在统计数据的时候,我们不是用一张表去统计的,而是用一个新的对象去接收统计出来的数据!我先用的是List<List<String>> list 有点问题 现在改成了List<Map<String, String>>  其实我觉得两个都差不多的

主要的代码:

 public List<Map<String, String>> getStatistical(String c_name) {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
//统计的sql语句
String sql = "SELECT s.sl_name '学校名称',COUNT(c.cr_name) '网脉班级数量',"
+ "SUM((CASE st.vip WHEN '会员' THEN 1 ELSE 0 END)) '会员数量', "
+ "SUM((CASE st.vip WHEN '非会员' THEN 1 ELSE 0 END)) '非会员数量' "
+ "FROM t_shool s "
+ "LEFT JOIN t_classromm c on s.sl_id = c.sl_id "
+ "LEFT JOIN t_student st ON st.st_clid = c.cr_id "
+ "where s.sl_cid = (select t_city.c_id from t_city where t_city.c_name=? )"
+ "group by s.sl_name; ";
ResultSet rs = JdbcUtil.executeQuery(sql, c_name);
try {
while (rs.next()) {
Map<String, String> map = new HashMap<String, String>();
map.put("学校名称", rs.getString("学校名称"));
map.put("网脉班级数量", rs.getString("网脉班级数量"));
map.put("会员数量", rs.getString("会员数量"));
map.put("非会员数量", rs.getString("非会员数量"));
list.add(map); }
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtil.close();
}
return list; }

越来越觉得我们这组应该是班上最好的一个组!

一个人呢很有自己的想法!自己觉得是对的事!就算是一个组完成的工作,他一个人也要去完成。我发觉我是这个组中最差的那个人了!

我的组长是个女生  但是她也是很不错的一个组长的! 学习委员就跟不用我说了 天天都帮我找问题 解决问题的!真实很感谢他的!

还有半个多月 我就放假了 就可以回家了!近半年没回家了!这是离开家最久的一次!

CRM项目完成实现的更多相关文章

  1. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  2. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  3. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

  4. SAP CRM 用户界面对象类型和设计对象

    在CRM中的用户界面对象类型的帮助下,我们可以做这些工作: 进行不同的视图配置 创建动态导航 从设计层控制字段标签.值帮助 控制BOL对象的属性的可视性 从导航栏访问自定义组件 一个用户界面对象类型之 ...

  5. SAP CRM 显示消息/在消息中进行导航

    向用户展示消息,在任何软件中都是十分重要的. 在SAP CRM WEB UI中展示消息,不是一项很难的任务,只需要创建消息并在之后调用方法来显示它 消息类和消息号: 我在SE91中创建了如下的消息类和 ...

  6. Dynamics CRM 2015-Data Encryption激活报错

    在CRM的日常开发中,Data Encryption经常是不得不开启的一个功能.但是有时,我们可能遇到一种情况,Organization导入之后,查看Data Encryption是已激活的状态,但是 ...

  7. SAP CRM 客户控制器与数据绑定

    当用户从视图离开时,视图将失去它的数据.解决这个问题,需要引入客户控制器(Custom Controller)(译者注:SAP CRM客户端中,不同地方的Custom Controller会翻译为“客 ...

  8. SAP CRM BOL编程基础,代码+详细注释

    网络上可以找到一些使用BOL查询.维护数据的DEMO,但几乎都是单纯的代码,缺乏说明,难以理解.本文除了代码外,还给出了详细的注释,有助于理解BOL编程中的一些基本概念. 这是一篇翻译的文章,你可能会 ...

  9. SAP CRM 通过调试观察CL_CRM_BOL_ENTITY中的数据

    这个(BOL里面)最重要的类值得一看. BOL中的每条记录都会在CL_CRM_BOL_ENTIT中表示.至今,我们已经写过一些事件处理器,并且我们已经直接或间接的通过这个类工作.在业务场景中,我们也许 ...

随机推荐

  1. 7、使用autotools自动产生makefile

    通过之前的学习可以知道,makefile拥有复杂的语法结构,编写与维护都不是很方便于是设计出了专门用来生成Makefile的autotools工具,以减轻制作makefile文件的负担. 自主软件主要 ...

  2. Scala_函数式编程基础

    函数式编程基础 函数定义和高阶函数 函数字面量 字面量包括整数字面量.浮点数字面量.布尔型字面量.字符字面 量.字符串字面量.符号字面量.函数字面量和元组字面量. scala> val i = ...

  3. 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)

    twitter面试题内容 “看下面这个图片” “在这个图片里我们有不同高度的墙.这个图片由一个整数数组所代表,数组中每个数是墙的高度.上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]” “ ...

  4. Python自动化开发 - 常用模块(一)

    本节内容 1.模块介绍 2.time&datetime模块 3.random模块 4.os模块 5.sys模块 6.json&pickle模块 7.logging模块 一.模块介绍 模 ...

  5. Python 高级编程 ——观察者模式

    观察者模式的定义 :定义了对象之间一对多依赖,当一个对象改变状态时,这个对象的所有依赖者都会收到通知并按照自己的方式进行更新. 按照一个气象站的例子来看观察者模式 从气象站取得数据后要在三个布告牌显示 ...

  6. Android TV 开发(5)

    本文来自网易云社区 作者:孙有军 问题3:TV launcher中没有入口图标 如果需要出现入口图标,你必须要在AndroidManifest中配置action为android.intent.acti ...

  7. 小猴打架(luogu4430)(数论+生成树计数)

    一开始森林里面有\(N\)只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友.每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友.经过\(N-1\)次打架之后,整个森林的小猴 ...

  8. drf-序列化器的理解

    序列化器作用:  1.进行数据的校验 2.对数据对象进行转换 序列化:  模型类对象  ----->  python字典    用于输出, 返回给前端使用 反序列化:  前端传送的数据  --- ...

  9. Liferay7 BPM门户开发之1:Liferay7开发环境准备

    liferay sdk下载 \IDE下载 \ Tomcat 安装细节不在此赘述 网上有很多. 只讲核心关键坑点 进入2016年,从Liferay6.2.5 ga6版本开始,到7.0 ga3,在ivy环 ...

  10. vue项目在IE9下报错 “requestAnimationFrame”未定义

    在main.js里面添加: (function () { var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var ...