第5章:实体类在程序中的高级应用
第5章:实体类在程序中的高级应用
本章任务
实现年级/科目 ComboBox的联动
实现成绩表和学生表的多表查询
本章目标
会使用实体类实现ComboBox的联动
会使用实体类实现DataGridView的筛选
会使用实体类实现多表查询
本章内容ComboBox 的数据绑定使用ComboBox 绑定实体集合
ComboBox的数据联动使用ComboBox 的SelectedIndexChanged 事件
使用DataGridView显示数据
设置 DataGridView 控件和各列(Columns)的属性
设置 DataSource 属性,绑定数据源
DataGridView 各列的主要属性
属性名称
说明
HeaderText
列标题文本
Visible
指定列是否可见
ReadOnly
指定单元格是否为只读
DataPropertyName
绑定的数据列的名称
显示关联表数据问题:
如何显示多个表关联的数据
分析:
1.每一行数据对应多个实体
2.DataGridView 先绑定Result,然后获取Student ...
第6章:课程总复习
第6章:课程总复习
课程内容回顾第一章~第四章
二层架构
三层架构
实体类
数据访问层编码
业务逻辑层编码
第五章
ComboBox 数据联动
DataGridView 显示关联表数据
学员总结分组总结内容要求
正确、全面、重点突出
表达要求
清晰流畅、有条理
知识梳理:.NET高级
WinForms 高级应用
App.config 的使用
使用 ComboBox 实现联动功能
DataGridView 中辅助列的用法
DataGridViewComBoxColumn 的用法
ADO.NET 深入
使用 using 释放数据库访问对象
使用SqlParameter 实现参数化查询
在ADO.NET 中调用存储过程
在ADO.NET 中使用事务
.NET 基础知识
readonly 和 const 的区别
异常处理
.NET安全编程
使用MD5加密
知识梳理:.NET分层开发两层架构
单层结构的搭建方法
两层架构的搭建方法
创建数据访问层和表示层的依赖关系
两层结构的编码
三层架构
三层架构的搭建方法
三层架构中各层的编码
实体类的用法
实体类的写法
在 ...
第3章:数据访问层
第3章:数据访问层
本章任务
实现查询学生信息功能
实现添加学生成绩功能
实现修改学生信息功能
本章目标
掌握使用 using 释放对象
会使用 SqlParameter 给SQL传递参数
会使用 ADO.NET 调用存储过程
本章内容使用using使用Connection,如何保证连接关闭?
使用using 释放Connection对象
using的用法:
用法一:导入命名空间
用法二:释放对象占用的资源
如Connection、DataReader 、 FileStream……
使用using 释放SqlConnection
使用using 释放SqlDataReader
using 的本质
使用 SqlParameter拼接SQL的方法
方式1:
方式2:
SQL注入:
拼接SQL语句的弊端:
弊端一:不美观,而且容易出现错误
弊端二:安全性差,容易被SQL注入攻击
提示:
参数化查询是能有效避免上述弊端的执行SQL 语句的方式
使用 @ 构造参数化SQL 命令:
SqlParameter 对象
和“@”修饰的参数一一对应,用 ...
第2章:OOP应用之实体类
第2章:OOP应用之实体类
本章任务
使用实体类创建学生用户
使用实体类绑定年级数据
使用实体类绑定学生数据
本章目标
实体类的概念
会使用实体类传递数据
会使用配置文件配置数据库连接字符串
本章内容为什么需要实体类从OOP思想分析:
完全受控制的对象
具有面向对象的基本特征
可以自定义行为
消除了关系数据和对象之间的差异
什么是实体类
两层架构中的实体
C# 与数据库数据类型对应关系:
C#
数据库
string
char, ncharvarchar, nvarchar
int
int, smallint
DateTime
datetime
float
float
bool
bit
decimal
decimal, money
使用实体类两层架构中的实体层:
提示:
分层与实体类无必然联系,不分层的系统依然可以使用实体类。
使用实体类的步骤:
创建实体类项目
创建实体类
添加各层对实体类项目的依赖
实现数据访问层
实现表示层
123456789101112131415161718192021222324252627 ...
第4章:三层架构
第4章:三层架构
本章任务
完善新增学生的功能
实现删除学生的功能
本章目标
理解什么是三层架构
能够搭建三层架构
能够在三层架构下编码会
使用ADO.NET事务处理
本章内容三层架构的必要性问题1:如果增加密码加密的功能,加密的代码放在 表示层还是数据访问层?
问题2:企业审批中不断变化的流程,反复修改整个解决方案。
三层架构中的业务层
实体类在三层中的数据传递
搭建三层架构的步骤1、创建数据访问层项目
2、创建业务逻辑层项目
3、创建表示层项目
4、创建实体类项目
5、分别添加三层对实体类项目的依赖
6、添加业务逻辑层对数据访问层的依赖
7、添加表示层对业务逻辑层的依赖
业务逻辑层中的编码
创建业务逻辑类
引用数据访问层、业务实体层命名空间
实现业务逻辑方法
调用数据访问层中的方法
实现业务处理代码
表示层中的编码
创建WinForms 窗体
引用业务逻辑层、业务实体层命名空间
实现表示层的方法
调用业务逻辑层中的方法
实现显示逻辑代码
三层架构的扩展-通用层
通用(Common)层用来复用一些软件系统中共用的技术.
例如:
通用的辅助类 ...
第1章:软件系统的分层开发
第1章:软件系统的分层开发
本章任务
使用分层的方式实现简单查询
搭建基本的分层架构
实现基本分层系统的功能
本章目标
理解分层开发的思想
掌握搭建分层架构的方法
DotNet异常处理机制及多路捕获异常
本章内容混沌的代码
表示层+数据层:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace MySchool{ pub ...
CH14-课程总复习
CH14-课程总复习本章目标
引导完成OOP课程复习
学生写复习总结
完成汽车租赁系统
本章内容1、知识点梳理
类和对象
值类型和引用类型
装箱、拆箱 造函数方法重载参数传递 集合集合初始化器非泛型集合:ArrayList、Hashtable泛型集合:List、Dictionary<K,V>
类的方法
构造函数
方法重载
参数传递
集合
集合初始化器
非泛型集合:ArrayList、Hashtable
泛型集合:List、Dictionary<K,V>
面向对象高级特性
封装
继承
子类构造过程
base关键字
继承的特性以及优点 使用虚方法或抽象方法实现多态方法重写里氏替换原则父类类型作为参数和返回值
多态
使用虚方法或抽象方法实现多态
方法重写
里氏替换原则
父类类型作为参数和返回值
文件操作
文件读写:
FileStream
StreamReader
StreamWriter
文件操作
存在性检查、复制、移动、删除、遍历等
File静态类
FileInfo类
文件夹操作
存在性检查、复制、移动、删除、遍 ...
CH13-序列化和反序列化
CH13-序列化和反序列化本章目标
理解序列化和反序列化
掌握二进制序列化和反序列化
掌握XML序列化和反序列化
本章内容1、概念
什么是序列化:
通常,我们需要将对象存储要物理存储中,这要可以释放内存,在需要的时候,我们又需要从物理存储中读回并转换回对象。
在此过程中,对象的公共字段和私有字段以及类的名称(包括该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确副本。
序列化:将对象存储到物理存储的过程称为序列化。
反序列化:
反序列化:将序列化对象读回内存的过程是反序列化。
2、序列化实现步骤
序列化一个类最简单的方式是试用如下所示的Serializable属性标记
123456789101112[Serializable]//标识类可以被序列化internal class Student{ public int StudentNo { get; set; } public string StudentName { get; set; } public in ...
CH12-操作文件
CH12-操作文件本章目标
掌握文本文件的读写
会进行文件和文件夹操作
本章内容1、文件流
关于文件概述:
IO操作:文件/文件夹操作与读写。
文件夹:用来管理计算机文件的,每一个文件夹对应一块磁盘空间。它提供了指向对应空间的地址,它没有扩展名,也就不像文件的格式用扩展名来标识。
文件:一个具有符号的一组相关联元素的有序序列。文件可以包含范围非常广泛的内容。系统和用户都可以将具有一定独立功能的程序模块、一组数据或一组文字命名为一个文件,它具有永久存储。
流:是一个字节序列,可用于对后备存储进行读取和写入操作,后备存储可以是多个存储媒介之一(例如,磁盘或内存)。
Stream 支持读取和写入字节。所有表示流的类都继承自Stream类。
流涉及三个基本操作:(1)读取– 将数据从流传输到数据结构(如字节数组)中。(2)写入– 将数据从数据源传输到流。(3)查找– 对流中的当前位置进行查询和修改。
引入System.IO命名空间—提供文件操作的类
System.IO 命名空间有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。
...
CH11-操作XML文件
CH11-操作XML文件本章目标
认识XML文件
会编写XML文件
通过C#操作XML文件
通过C#和XML文件完成相应程序
本章内容1、XML概述:
XML的概念:
XML(Extensible Markup Language)是一种用于存储和传输数据的标记语言。它由万维网联盟(W3C)开发。XML被广泛用于数据交换、数据存储、Web服务、网络协议(如SOAP)等方面。它是一种非常流行的数据格式,在Web开发中扮演着重要角色。XML与HTML类似,但XML更加灵活和可扩展,它允许开发人员创建自己的标记,而不是只限于HTML中预定义的标记。
XML的特点:
可扩展性:XML允许开发人员创建自定义的标记和元素,以表示数据和结构,这使得XML可以用于多种应用程序和领域。
结构化:XML文档由嵌套的元素和属性组成,这使得XML可以表示复杂的数据结构。
标准化:XML支持标准化的字符编码,如UTF-8和UTF-16,这使得XML可以在不同的平台和应用程序之间进行交换和处理。
简单易读:XML文档具有清晰的层次结构和良好的可读性,这使得XML易于编写和理解。
2、XML的基本 ...









