C#程序设计(第2版)7-1_第1页
C#程序设计(第2版)7-1_第2页
C#程序设计(第2版)7-1_第3页
C#程序设计(第2版)7-1_第4页
C#程序设计(第2版)7-1_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单元7 综合应用C#程序设计 课程概述学习内容什么是三层架构和实体类0102如何搭建三层架构目录页 PAGE OF CONTENT01新建项目02认识项目文件03开始编写C#代码04编译、调试项目知识点名称 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字添加内容添加内容添加内容添加内容什么是三层架构和实体类011什么是三层架

2、构和实体类一种代码的组织形式,其中包括:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)1)表示层:为用户提供交互操作界面,用于显示和接收用户提交的数据,为用户提供交互式的界面。表示层一般为Windows窗体应用程序或Web应用程序。2)业务逻辑层:负责关键业务的处理和数据的传递,不会直接对数据库中的数据进行操作,该层一般为类库。3)数据访问层:负责数据库数据的访问,根据传入的值来操作数据库,实现对数据的读取、保存和更新等操作。数据访问层通常为类库。1什么是三层架构和实体类为便于在各层间传递数据,通常再添加一个类库,即实体类库。其中封装的每个类都对应一个实体,即数据库中的一张表。如何

3、搭建三层架构02如何搭建三层架构2将【例6.8】中显示表T_Stu学生信息的代码用三层架构来重新进行组织1)创建表示层2)创建业务逻辑层3)创建数据访问层4)创建实体类5)添加各层之间依赖关系如何搭建三层架构2添加代码1)在实体类库定义类Student2)在数据访问层定义数据库操作类DBHelper3)在数据访问层定义数据访问类StuService4)在业务逻辑层定义类StuManager5)编写表示层单元7 综合应用C#程序设计 课程基于三层架构操作数据学习内容什么是三层架构和实体类0102如何搭建三层架构目录页 PAGE OF CONTENT01实现学生信息的添加02实现学生信息的修改03

4、实现学生信息的删除知识点名称 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字 根据自己的需要添加适当的文字,据研究,在幻灯片中,一页的文字最好不要超过200字添加内容添加内容添加内容添加内容实现学生信息的添加01实现学生信息的添加1(1)在数据访问层类StuService中添加AddStudent方法 public bool AddStudent(Student newStu) string sqlStr

5、 = insert into T_Stu values(ID,name,age); SqlParameter param = new SqlParameter new SqlParameter(ID,newStu.ID), new SqlParameter(name,newStu.Name), new SqlParameter(age,newStu.Age) ; return DBHelper.ExcuteCommand(sqlStr, param); 实现学生信息的添加(2)在业务逻辑层类StuManager中添加AddStudent方法 public bool AddStudent(Stu

6、dent newStu) return stu.AddStudent(newStu); 1实现学生信息的添加(3) 在表示层获取输入的学生信息 private void btnAdd_Click(object sender, EventArgs e) Student newStu=new Student(); newStu.ID = int.Parse(txtID.Text); newStu.Name = txtName.Text; newStu.Age = int.Parse(txtAge.Text); if (stu.AddStudent(newStu) MessageBox.Show(添

7、加成功); dataGridView1.DataSource = stu.GetStudentList(); else MessageBox.Show(添加失败); 1实现学生信息的修改02实现学生信息的修改2(1)在数据访问层类StuService中添加UpdateStudent方法 public bool UpdateStudent(Student stu) string sqlstr = update T_Stu set name=name,age=age where ID=id; SqlParameter param = new SqlParameter new SqlParamete

8、r(name,stu.Name), new SqlParameter(age,stu.Age), new SqlParameter(ID,stu.ID) ; return DBHelper.ExcuteCommand(sqlstr, param); 实现学生信息的修改2(2)在业务逻辑层类StuManager中添加UpdateStudent方法 public bool UpdateStudent(Student s) return stu.UpdateStudent(s); 实现学生信息的修改2(3)在表示层获取要修改的学生信息 private void dataGridView1_CellC

9、lick(object sender, DataGridViewCellEventArgs e) if (dataGridView1.SelectedRows.Count = 0) MessageBox.Show(请选中一行进行操作); return; txtID.Text = dataGridView1.SelectedRows0.Cells0.Value.ToString(); txtName.Text = dataGridView1.SelectedRows0.Cells1.Value.ToString(); txtAge.Text = dataGridView1.SelectedRow

10、s0.Cells2.Value.ToString(); private void btnUpdate_Click(object sender, EventArgs e) if (dataGridView1.SelectedRows.Count = 0) MessageBox.Show(请选中一行进行操作); return; Student newStu = new Student(); newStu.ID = int.Parse(dataGridView1.SelectedRows0.Cells0.Value.ToString(); newStu.Name = txtName.Text; ne

11、wStu.Age = int.Parse(txtAge.Text); /保存修改 if (stu.UpdateStudent(newStu) MessageBox.Show(修改成功); dataGridView1.DataSource = stu.GetStudentList(); else MessageBox.Show(修改失败); 实现学生信息的删除03实现学生信息的删除3(1)在数据访问层类DBHelper中添加ExcuteCommand方法的重载 public static bool ExcuteCommand(List sqlStr, List param) int i = 0;

12、 SqlCommand cmd = new SqlCommand(); using (TransactionScope ts = new TransactionScope() cmd.Connection = conn; conn.Open(); try foreach (string item in sqlStr) cmd.CommandType = CommandType.Text;cmd.CommandText = item; cmd.Parameters.AddRange(parami); /添加参数 cmd.ExecuteNonQuery();/执行SQL语句并返回受影响的行数 i+

13、; ts.Complete(); return true; catch return false; finally conn.Close(); sqlStr.Clear(); (2)在数据访问层类StuService中添加DelStudent方法 public bool DelStudent(int id) List strSqls = new List();/创建集合对象 List param = new List(); string strDelete1 = delete From T_Stu where ID = id;/定义删除表T_Stu的SQL语句 strSqls.Add(strD

14、elete1);/将SQL语句添加到集合中 SqlParameter param1 = new SqlParameter new SqlParameter(ID,id) ; param.Add(param1); string strDelete2 = delete From T_SC where Sno = sno;/定义删除表T_SC的SQL语句 strSqls.Add(strDelete2);/将SQL语句添加到集合中 SqlParameter param2 = new SqlParameter new SqlParameter(sno,id) ; param.Add(param2); r

15、eturn DBHelper.ExcuteCommand(strSqls, param); 实现学生信息的删除3(3)在业务逻辑层类StuManager中添加DelStudent方法 public bool DelStudent(int id) return stu.DelStudent(id); 实现学生信息的删除3(4)在表示层获取待删除学生的学号 private void btnDel_Click(object sender, EventArgs e) int id; if (dataGridView1.SelectedRows.Count = 0) MessageBox.Show(请选中一行进行操作); return; id = int.Parse(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论