2.10项目总结汇报

目录

[任务目标]****2

(1) 掌握应用系统设计流程;****2

(2) 回顾设计过程中的知识点:窗口、控件、事件、方法;****2

(3) 回顾数据库编程的知识点。****2

[任务解析]****2

第一章 小组成员分工****2

第二章 任务2.1 系统需求分析,简书链接(已完成)****2

第三章 任务2.2 系统登录界面的制作,简书链接(已完成)****2

第四章 任务2.3 系统主界面的制作,完成人,简书链接****2

第五章 任务2.4 系统数据库设计,完成人,简书链接****3

第七章 任务2.5 登录用户验证功能设计,****3

第八章 任务2.6 密码修改界面功能设计 完成人,简书链接****3

第十章 任务2.7 商品信息录入界面功能设计 完成人,简书链接****3

第十一章 任务2.8 商品信息查询修改界面功能设计 完成人,简书链接****3

第十二章 任务2.9 系统程序的部署 完成人,简书链接****3

《2.3 系统主界面的制作》具体要求:****3

《2.4系统数据库设计》具体要求:****5

《2.5 登录用户验证功能设计》具体要求:****6

《2.6 密码修改界面功能设计》具体要求:****8

《2.7 商品信息录入界面功能设计》具体要求:****10

《2.8 商品信息查询修改界面功能设计》具体要求:****12

《2.9 系统程序的部署》具体要求:****14

[任务目标]

(1) 掌握应用系统设计流程;
(2) 回顾设计过程中的知识点:窗口、控件、事件、方法;
(3) 回顾数据库编程的知识点。

[任务解析]

第一章 小组成员分工

小组分工.png

第二章 任务2.1 系统需求分析,简书链接(已完成)
完成人:石紫诚,简书连接https://www.jianshu.com/p/117127c452b8?utm
第三章 任务2.2 系统登录界面的制作,简书链接(已完成)
完成人:余清河 ,简书连接https://www.jianshu.com/p/54ff3dc6495a?utm_
第四章 任务2.3 系统主界面的制作,完成人,简书链接
完成人:刘德智,简书连接:https://www.jianshu.com/p/bfa7edb1ccd7
第五章 任务2.4 系统数据库设计,完成人,简书链接
完成人:徐振博,简书链接https://www.jianshu.com/p/9a4c35141bc6
第七章 任务2.5 登录用户验证功能设计,
完成人:徐振博,简书链接https://www.jianshu.com/p/cd767c154357
第八章 任务2.6 密码修改界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接:https://www.jianshu.com/p/dfdf5a05f986
第十章 任务2.7 商品信息录入界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接https://www.jianshu.com/p/1752084e86d2
第十一章 任务2.8 商品信息查询修改界面功能设计 完成人,简书链接
完成人:刘春燕,简书链接https://www.jianshu.com/p/8e444ac8e659
第十二章 任务2.9 系统程序的部署 完成人,简书链接
完成人:刘德智,简书连接:https://www.jianshu.com/p/341ff490476d

《2.3 系统主界面的制作》具体要求:

1.完成MDI界面程序的制作,具备多个菜单选项,其中,点击“登陆->打开”选项可以弹出子界面收银员,库管员。

图片1.png

图片2.png

2.实现MDI主界面的主要步骤#MDI界面程序制作
右击项目“添加”添加windows窗体
在新窗体里面添加MenuItem,ToolStrip,StatusStrip,timer控件如图
图片3.png

将要作为“父窗体” 的窗体的IsMdiContainer属性设置为true(通过属性窗口设计即可)。
将要作为“子窗体” 的窗体的MdiParent属性属性指定为“父窗体”。
只有通过代码,在实例化“子窗体”后设置,如下:
FormChild formChild1 = new FormChild(); // 创建子窗体对象
formChild1.MdiParent = this; // 设置子窗体的父窗体为当前窗体formChild1.Show(); // 在MDI中显示子窗体
3.主界面中涉及到的控件以及控件的重要属性、方法
菜单项(MenuItem)、组合框(ComboBox)、文本框(TextBox)
工具栏和状态栏
工具栏()ToolStrip、菜单栏(StatusStrip)
ImageScalingSize: 工具栏或状态栏的项显示图像的大小
Items : 在工具条或状态条上显示的项的集合
DisplayStyle : 设置图像和文本的显示方式,包括显示文本、显示图像、显示文本和图像或什么都不显示
Image: 按钮/标签上显示的图片
Click: 单击按钮/标签时,触发该事件
Text : 单击按钮/标签时,触发该事件
Spring : 指定项是否填满剩余空间
4.主界面的功能如何与系统结构图对应
数据库验证登陆成功,进入对应子窗体。
5.贴入重要代码片段,并进行详细描述
FormChild formChild1 = new FormChild(); // 创建子窗体对象
formChild1.MdiParent = this; // 设置子窗体的父窗体为当前窗体
formChild1.Show(); // 在MDI中显示子窗体`

《2.4系统数据库设计》具体要求:

1. 描述抽象数据库表的过程,绘制流程图(提示:四个步骤)抽象数据库表
库管员——>工号,姓名,登录密码,电话 收银员:——>工号,姓名,登录密码,电话 商品信息:——>价格,名称,条码,规格
2. 流程图

图片4.png

3.ER图
图片5.png

4.给出智慧商超涉及到的数据库表的各个字段
登陆涉及字段: 工号,姓名,登录密码,电话 商品涉及字段: 价格,名称,条码,规格

《2.5 登录用户验证功能设计》具体要求:

1. 贴效果图,最好是GIF文件

图片6.png

2. 描述画面主要功能,并列出支持这些功能的后台数据库表结构
主要功能:验证用户登录
表结构: 收银员表:工号(主键),姓名,密码,电话 库管员表:工号(主键),姓名,密码,电话
3. ADO.NET查询数据库的流程

方法一
  1. 导入命名空间;
  2. 运用Connection对象建立与数据库连接;
  3. 打开连接;
  4. 利用Command对象的ExecuteReader()方法执行Select查询语句;
  5. 利用ExecuteReader()方法返回的DataReader对象读取数据,显示到界面上;
  6. 关闭连接。
方法二
  1. 通过Connection对象建立与数据库的连接
  2. 利用Command对象执行SQL语句或存储过程
  3. .通过DataReader对象将Command对象执行SQL语句查询后的具体数据从数据库中一条一条读取到DaraReader对象中
  4. 在客户端将数据呈现出来
    4. 贴入重要代码片段,并进行详细描述
    //连接数据库
    sqlConn.Open();
    String SqlStr = "";
    if (this.comboBox1.Text == "收银员")
    {
    //注意USER是SQL Sever关键字,表名不能命名为USER,而应当用USERS
    SqlStr = "select * from EMPLOYEE where ID=@id and password=@pwd";
    }
    else
    {
    SqlStr = "select * from EMPLOYEE where ID=@id and password=@pwd";
    }
    //执行SQL语句
    SqlCommand cmd = new SqlCommand(SqlStr,sqlConn);
    //为SQL语句中的参数赋值
    cmd.Parameters.Add(new SqlParameter("@id", this.textBox1.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("@pwd", this.textBox2.Text.Trim()));
    SqlDataReader dr = cmd.ExecuteReader();
    // 如果从数据库中查询到记录,则表示可以登录
    if (dr.HasRows)
    {
    dr.Read();
    //将数据库中的字段赋值给C#中的参数
    userid = dr["id"].ToString();
    String userName = dr["name"].ToString();
    String userPwd = dr["password"].ToString();
    String userPhone = dr["tel"].ToString();
    String userType = this.comboBox1.Text;
    MessageBox.Show(userType + "登录成功");
    // 处理登录,判断用户类型
    if (userType == "收银员")
    {
    //MessageBox.Show("登录成功123");
    // 显示收银员主界面
    Form3 formUser = new Form3();
    formUser.Show();
    // 隐藏登录界面
    this.Hide();
    }
    if (userType == "经理")
    {
    // 显示经理主界面
    Form2 formAdmin = new Form2();
    formAdmin.Show();
    // 隐藏登录界面
    this.Hide();
    }
    }
《2.6 密码修改界面功能设计》具体要求:

1. 贴效果图,最好是GIF文件

图片7.png

2. 描述画面主要功能,并列出支持这些功能的后台数据库表结构
用户名直接显示不能更改,输入新密码,再确认密码,两次一样才能确定更改成功
图片8.png

3. ADO.NET更新数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,运用Connection对象建立与数据库连接;
  3. 打开连接;
  4. 利用Command对象的ExecuteNoQuery()方法执行Update语句;
  5. 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
  6. 关闭连接
    4. 贴入重要代码片段,并进行详细描述
    if (newPwd.Equals(""))
    {
    MessageBox.Show("请输入新密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }
    else if (confPwd.Equals(""))
    {
    MessageBox.Show("请输入确认密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }
    else if(newPwd != confPwd)
    {
    MessageBox.Show("两次密码不一致", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    return;
    }
    // 连接字符串,注意与实际环境保持一致
    stringconnStr = "Data Source=.;Initial Catalog=ldz2017270397;Integrated Security=True";
    SqlConnectionsqlConn = new SqlConnection(connStr);
    try
    {
    //连接数据库
    sqlConn.Open();
    // 构造UPDATE命令
    StringsqlStr = "update EMPLOYEE set password=@pwd where id=@id";
    SqlCommandcmd = new SqlCommand(sqlStr, sqlConn);
    // SQL字符串参数赋值
    cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));
    cmd.Parameters.Add(new SqlParameter("@id", userName));
    // 将命令发送给数据库
    intres = cmd.ExecuteNonQuery();
    // 根据返回值判断是否修改成功
    if(res != 0)
    {
    MessageBox.Show("密码修改成功");
    this.Close();
    }
    else
    {
    MessageBox.Show("密码修改错误");
    }
《2.7 商品信息录入界面功能设计》具体要求:

1、贴效果图,最好是GIF文件

图片9.png

2、描述画面主要功能,并列出支持这些功能的后台数据库表结构
输入商品条码,商品名称,商品价格,商品规格可以录入商品信息,更新后可以在数据库表中查询。
图片10.png

3、ADO.NET插入数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,运用Connection对象建立与数据库连接;
  3. 打开连接;
  4. 利用Command对象的ExecuteNoQuery()方法执行Insert语句;
  5. 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
  6. 关闭连接
    4、 画面功能是如何迭代的,描述迭代过程(无外键à有外键)
    5、ComboBox数据绑定流程
    // 连接字符串,注意与实际环境保持一致
    StringconnStr = ConfigurationManager.ConnectionStrings["ldz2017270397"].ConnectionString;
    SqlConnectionsqlConn = new SqlConnection(connStr);
    try
    {
    // 连接数据库
    sqlConn.Open();
    // 构造命令
    StringsqlStr = "insert into goodes(id, name, price, spec, remark) values(@id, @name, @price, @spec, @remark)";
    SqlCommandcmd = new SqlCommand(sqlStr, sqlConn);
    6、贴入重要代码片段,并进行详细描述
    图片11.png
《2.8 商品信息查询修改界面功能设计》具体要求:

1、 贴效果图,最好是GIF文件

图片12.png

2、输入商品条码或者商品名称可以查询到商品信息,也可以直接查询出所有商品信息。

图片13.png

3、ADO.NET删除数据库的流程

  1. 导入命名空间;
  2. 定义数据库连接字符串,创建Connection对象;
  3. 打开连接;
  4. 利用DataAdapter对象,建立与数据库的连接桥;
  5. 通过DataAdapter桥,将查询结果存储到DataSet对象中;
  6. DataGridView控件绑定DataSet,将查询结果显示出来
  7. 关闭连接。
    4、 画面功能是如何迭代的,描述迭代过程(无供应商à有供应商)
    5、DataGridView数据绑定流程
    //点击修改链接
    if (e.RowIndex != -1 && e.ColumnIndex == 0)
    { // 获取所要修改关联对象的主键
    stringgoodsId = this.dataGridView1["Column1", e.RowIndex].Value.ToString();
    Form7form7 = new Form7(goodsId);
    form7.Show();
    }
    else if (e.RowIndex != -1 && e.ColumnIndex == 1)
    {
    if (MessageBox.Show("确认删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
    {
    //获取所要删除关联对象的主键
    stringgoodsId = this.dataGridView1["Column1", e.RowIndex].Value.ToString();
    }
    6、贴入重要代码片段,并进行详细描述
    图片14.png
《2.9 系统程序的部署》具体要求:

1. 贴效果图,最好是GIF文件

图片15.png

图片16.png

2. 系统部署前的准备工作(制作图标、添加关于菜单)
图片17.png

3. 应用系统打包流程描述
(1)在项目名上右键,选择“添加à新建项”,新建“关于框”
(2)在框属性添加所用的ico图片设置窗口图片
图片18.png

(3)显示关于菜单
private void tsm_About_Click(object sender, EventArgs e)
{
AboutBox about = new AboutBox();
about.ShowDialog();
}
(4)在项目名上右键,选择属性在程序集信息设置软件信息,下方添加设置应用程序图标
图片19.png

(5)点击发布选择发布位置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容