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

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

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

 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. 《mysql必知必会》学习_第六章_20180730_欢

    第六章<过滤数据> P35 1. select prod_name,prod_price from products where prod_price=2.5; 2.select prod ...

  2. 用命令行上传本地代码到GitHub

    有两种方式上传,ssh和https,ssh老是报错=.=我用的是https 先下载git   https://git-scm.com/downloads 在代码的文件夹的同级目录中邮件打开git ba ...

  3. centos7 修改默认启动级别

    systemctl set-default multi-user.target      设定默认为字符界面,也就是3 systemctl set-default graphical.target  ...

  4. pycharm的基本使用

    1.设置注释字体的颜色,如下图 2.常用快捷键 Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 类名完成 Ctrl + Shift + Enter 语 ...

  5. ECCV 2016 paper list

    摘录ECCV2016部分文章,主要有Human pose esimation,  Human activiity / actions, Face alignment, Face detection & ...

  6. C# 简述Action与function

    Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托. 最初使用委托时,均需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定 ...

  7. 12_python_生成器

    一.生成器 python中有三种方式获取生成器 (1)通过生成器函数 (2)通过各种推导式来实现生成器 (3)通过数据的转换也可以获取生成器   1.只要函数中存在了yield,那么这个函数就是一个生 ...

  8. 转---如何让前端更安全?——XSS攻击和防御详解

    前言 平时很少关注安全这块的技术,曾经也买过一本<Web前端黑客技术揭秘>但至今还没翻过,尴尬.今天的早读文章由腾讯优测@小吉带来的分享. 正文从这开始~ 最近深入了解了一下XSS攻击.以 ...

  9. linux服务器ssh免密码登录

    假设有三台服务器的ip分别是10.9.1.101.10.9.1.102.10.9.1.103 修改hosts文件 分别修改三台服务器的hosts的文件(vi /etc/hosts), 在hosts文件 ...

  10. MyBatis全局配置文件标签详解

    一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...