这个作业属于哪个课程

https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1

这个作业要求在哪里

https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3346

团队名称

机你太美   博客链接:https://www.cnblogs.com/cadaver/

团队成员 学号
李博   201731062327
蒋东航 201731062328
黄宇杰 201731062326
唐弋力 201731062330

一、SCRUM部分

李博:

今日:实现了考勤模块的所有功能

代码截图:

        /// <summary>
/// 开始考勤,显示二维码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button1_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedItem == null)
{
MessageBox.Show("请选择要考勤的课程!");
}
else
{
isStart = true;
//生成初始化考勤记录(全为缺勤)
string cNum = "";
//List<string> sNum = new List<string>();
//查询课程号
string sqlCommand_cNum = "select cNum from Course where cName='" + comboBox1.Text + "' and tNum='"+ toolStripStatusLabel2.Text + "'";
DataSet ds = new DataSet();
SqlDataAdapter da = SqlTool.DataAdapter(User.Student.sqlConStr, sqlCommand_cNum);
da.Fill(ds);
da.Dispose();
cNum = ds.Tables[].Rows[][].ToString();
ds.Dispose();
//查询对应课程的学生学号
string sqlCommand_sNum = "select sNum from Class where cNum='" + cNum + "'";
DataSet ds_sNum = new DataSet();
SqlDataAdapter Da = SqlTool.DataAdapter(User.Student.sqlConStr, sqlCommand_sNum);
Da.Fill(ds_sNum);
//获取时间
string localtime = DateTime.Now.ToLocalTime().ToString(); // 2019-6-14 20:12:12
string date = localtime.Split(' ')[];
string time = localtime.Split(' ')[].Split(':')[];
c_date = date;
c_time = time;
foreach (DataRow dr in ds_sNum.Tables[].Rows)
{
string sqlCmd = "insert into AttendanceRecord values('"+ cNum +"','"+ dr[].ToString() +"','"+ "缺勤" +"','"+ date +"','"+ time +"')";
SqlTool.ExecuteNonQuery(User.Student.sqlConStr, sqlCmd);
}
MessageBox.Show("考勤开始,请扫描屏幕二维码进行签到!"); //显示二维码
string url = string.Format(@"http://123.207.221.113:8080/home/qiandao.png");
System.Net.WebRequest webreq = System.Net.WebRequest.Create(url);
System.Net.WebResponse webres = webreq.GetResponse();
using (System.IO.Stream stream = webres.GetResponseStream())
{
pictureBox1.Image = Image.FromStream(stream);
}
}
} /// <summary>
/// 选择考勤课程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ComboBox1_DropDown(object sender, EventArgs e)
{
string sqlCommand = "select cName from Course where tNum='" + toolStripStatusLabel2.Text + "'";
DataSet ds = new DataSet();
SqlDataAdapter da = SqlTool.DataAdapter(User.Teacher.sqlConStr, sqlCommand);
da.Fill(ds, "cName");
da.Dispose();
this.comboBox1.DataSource = ds.Tables["cName"];
this.comboBox1.DisplayMember = "cName";
this.comboBox1.ValueMember = "cName";
} /// <summary>
/// 停止考勤
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Button2_Click(object sender, EventArgs e)
{
if (isStart)
{
isStart = false;
pictureBox1.Image = null;
//查询本次考勤信息
string sqlCommand = "select * from AttendanceRecord where date='" + c_date + "' and time='" + c_time + "' and cNum in (select cNum from Course where cName='"+ comboBox1.Text +"')";
DataSet ds = new DataSet();
SqlDataAdapter da = SqlTool.DataAdapter(User.Student.sqlConStr, sqlCommand);
da.Fill(ds);
da.Dispose();
//创建窗口显示本次考勤信息
本次考勤信息 msg = new 本次考勤信息(ds);
msg.Show();
}
else
{
MessageBox.Show("未开始考勤!");
}
}

蒋东航:

今日:实现了从服务器上在线读取二维码图片的功能

代码截图:

                //显示二维码
string url = string.Format(@"http://123.207.221.113:8080/home/qiandao.png");
System.Net.WebRequest webreq = System.Net.WebRequest.Create(url);
System.Net.WebResponse webres = webreq.GetResponse();
using (System.IO.Stream stream = webres.GetResponseStream())
{
pictureBox1.Image = Image.FromStream(stream);
}

黄宇杰:

今日:完成了项目涉及到的网页发布部署和服务器的配置

唐弋力:

今日:完成了项目涉及到的网页发布部署和服务器的配置

二、PM 报告:

燃尽图:

部分程序运行最新截图:

Beta冲刺(周五)的更多相关文章

  1. 《奋斗吧!菜鸟》 第九次作业:Beta冲刺 Scrum meeting 3

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 掌 ...

  2. Beta冲刺阶段

    Beta冲刺阶段 现阶段工作安排以及问题解决 Struts2框架配置 网上下载Struts 2 的框架代码,按照书上教程进行配置 遇到的问题:书上配置过程和实际操作有出入,按照书上过程无法完成配置过程 ...

  3. Beta冲刺链接总汇

    Beta冲刺 咸鱼 Beta 冲刺day1 Beta 冲刺day2 Beta 冲刺day3 Beta 冲刺day4 Beta 冲刺day5 Beta 冲刺day6 Beta 冲刺day7 凡事预则立- ...

  4. 凡事预则立-于Beta冲刺前

    凡事预则立,在Beta开始前的描述 在Beta项目冲刺开始之前,我们小组组织了一次活动室的讨论,明确了一下分工和即将来临的Beta冲刺要处理的问题和需要继续改进的地方.顺带补上一直没有的照片: 针对几 ...

  5. beta冲刺总结-咸鱼

    前言:emmmmmmm冲刺总结应该可以吐槽了?我发誓后面几篇冲刺我是很努力用正经语言描述了!!!!! 心得:emmmmm,说真的--到beta冲刺的时候才是真正感受到了组队的存在,基本上隔三差五就约一 ...

  6. Beta冲刺合集

    Beta冲刺序列: Beta凡事预则立 :Beta No.0 Beta冲刺Day1:Beta No.1 Beta冲刺Day2:Beta No.2 Beta冲刺Day3:Beta No.3 Beta冲刺 ...

  7. Beta冲刺集合

    1.Day1 http://www.cnblogs.com/bugLoser/p/8075868.html 2.Day2 http://www.cnblogs.com/bugLoser/p/80758 ...

  8. Beta冲刺随笔集合

    Beta冲刺随笔集合 项目Beta预备 Beta冲刺第一天 Beta冲刺第二天 Beta冲刺第三天 Beta冲刺第四天 Beta冲刺第五天 Beta冲刺第六天 Beta冲刺第七天 用户调查报告 Bet ...

  9. Beta冲刺置顶随笔

    项目名称:城市安全风险管控系统 小组成员: 张梨贤.林静.周静平.黄腾飞 Beta冲刺随笔 Beta预备 Beta冲刺Day1 Beta冲刺Day2 Beta冲刺Day3 Beta冲刺Day4 Bet ...

  10. Beta冲刺 总结

    Beta冲刺 总结 1. 完成情况 经过了为其七天的beta冲刺,我们基本完成了之前在<beta开始前准备>博客中所列出的内容. 增加关于征信的功能,贴近选题主题.在学生的信用活动记录中添 ...

随机推荐

  1. ms sql server line feed

    多行文本换行: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================== ...

  2. AS负责人说不必用Kotlin重写,但OkHttp拿Kotlin重写了一遍,就发了OkHttp 4.0!

    虽然 Android Studio 的负责人 Jeffery 已经澄清,只是 Kotlin-First 而不是 Kotlin-Must,并不需要将 App 用 Kotlin 重写一遍.但是 OkHtt ...

  3. lower_bound和upper_bound使用说明

    #include <bits/stdc++.h> using namespace std; int main() { ]; ;i<=;i++) { a[i] = i*; } ;i&l ...

  4. IT兄弟连 JavaWeb教程 过滤器2

    3  多个过滤器的执行顺序 如果一个Web应用中使用一个过滤器不能解决实际中的业务需要,那么可以部署多个过滤器对业务请求进行多次处理,这样做就组成了一个过滤器链.Web服务器在处理过滤器链时,将按过滤 ...

  5. 省选准备 MISTAKE 大全

    2019-03-29 [NOI2016]网格 如果是矩形,要记得考虑n或m=1的情况,不要潜意识里就以为矩形就是接近正方形的那种理想矩形. 写bool型的函数,return 的语句要想清楚,不要放错位 ...

  6. 深入V8引擎-Time模块介绍

    积跬步,行千里,先从最简单的开始写. 这一篇介绍V8中的时间模块,与libuv粗糙的update_loop_time方法不同,V8有一套独立完整的类负责管理时间. 该类位于src/base/platf ...

  7. wcf双工通信

    一直以为感觉双工没弄懂,着实觉得很惆怅,在网上了解下双工的一些特点,直接上代码,以便以后项目中用的着: service层: 定义一个IDuplexHello服务接口 [ServiceContract( ...

  8. Java基础笔记(一)——JDK、JRE、JVM

    JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...

  9. Theme Section

    题目链接 #include <cstdio> #include <iostream> #include <cstring> using namespace std; ...

  10. CC11:链表分割

    题目 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针.注意:分割以后保持 ...