3.4 公共类设计
视频讲解
项目开发过程中,通常会以类的形式来组织、封装一些常用的方法和事件,这样做不仅可以提高代码的重用率,也大大方便了代码的管理。在本系统中,主要建立了两个公共类,即DBConnection类和DBOperate类。DBConnection类主要用于连接数据库;DBOperate类中则定义了一些操作数据库的公共方法,分别用于实现各种功能。下面将详细介绍这两个类。
3.4.1 DBConnection公共类
DBConnection类是一个数据库连接类,此类主要用于连接SQL Server 2014数据库,在连接数据库时,只需调用此类中的MyConnection()方法即可,其实现代码如下:
例程01 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBConnection.cs
代码贴士
❶ MyConnection():该方法是一个公共的静态方法,此方法用于返回数据库连接对象。
MyConnection()方法是用static定义的静态方法,其功能是建立与数据库的连接,然后通过SqlConnection对象的Open()方法打开与数据库的连接,并返回SqlConnection对象的信息。代码如下:
例程02 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBConnection.cs
代码贴士
❶ “@"server=.\EXPRESS;database=db_PMS;uid=sa;pwd="”为数据库连接字符串,当创建SqlConnection对象时可以使用此字符串作为构造方法的参数。
3.4.2 DBOperate公共类
DBOperate类中建立了多个方法用于执行不同的SQL语句,下面对该类中的方法进行详细讲解。
1.OperateData()方法
OperateData()方法用于对数据库执行SQL语句。在开发程序时,可能会反复地执行SQL语句,为了增加代码的重复使用,在公共类中建立了一个OperateData()方法,其参数是SQL语句,调用时,只需将要执行的SQL语句传递给此方法执行即可。代码如下:
例程03 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ ExecuteNonQuery():该方法用于执行SQL语句,并返回受影响的记录的行数。
2.BindDataGridView()方法
BindDataGridView()方法用于将数据库中的数据绑定到DataGridView控件。代码如下:
例程04 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ Fill():该方法用于将查询到的数据库中的记录填充到数据集DataSet中。
3.HumanNum()方法
HumanNum()方法用于查找指定数据表的返回数。例如,根据指定的用户名和密码作为检索条件,检查用户名和密码是否正确,便可以通过调用HumanNum()方法实现。代码如下:
例程05 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ ExecuteScalar():SqlCommand对象的ExecuteScalar()方法用于执行查询,并返回查询所返回的结果集中第1行第1列的信息。
4.Read_Image()方法
Read_Image()方法用于在PictureBox控件中显示选择的图片,代码如下:
例程06 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ Filter:OpenFileDialog组件的Filter属性,用于筛选打开文件的格式。
❷ ShowDialog():OpenFileDialog组件的ShowDialog()方法用于弹出打开文件对话框,选择打开的文件。
❸ Image:PictureBox控件的Image属性,用于设置PictureBox控件显示的图像。
❹ Show():MessageBox类的Show()静态方法,用于弹出消息对话框。
5.SaveImage()方法
SaveImage()方法用于将图片以二进制存入数据库中,代码如下:
例程07 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ FileStream:通过FileStream对象的多个方法,可以方便地读取文件内容和向文件中写入内容。
❷ BinaryReader:通过BinaryReader对象的ReadBytes()方法,可以读取流中的数据。
❸ Append:使用StringBuilder对象的Append()方法用于向字符串中附加信息。
❹ Close():SqlConnection对象的Close()方法用于关闭数据库连接。
注意
适当地使用StringBuilder对象操作字符串,可以减少字符串操作中产生的垃圾对象,从而减轻GC垃圾收集器的压力。
6.Get_Image()方法
Get_Image()方法用于将图片从数据库中取出,并显示在PictureBox控件中,代码如下:
例程08 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ ExecuteReader():SqlCommand对象的ExecuteReader()方法用于得到数据读取器对象。
❷ Read():数据读取器的Read()方法用于读取数据。
注意
当使用SqlConnection对象的Open()方法打开数据库,并进行相关操作后,不要忘记调用SqlConnection对象的Close()方法,释放数据库资源。
7.GetTable()方法
GetTable()方法用于根据指定SQL查询语句,返回相应的DataSet对象,代码如下:
例程09 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
8.BindDropdownlist()方法
BindDropdownlist()方法用于对指定的ComboBox控件进行数据绑定,代码如下:
例程10 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs
代码贴士
❶ Add():ComboBox控件Items集合的Add()方法,用于向控件中添加数据项。
9.GYSD()方法
GYSD()方法用于计算不同工资应该缴纳的个人所得税,代码如下:
例程11 代码位置:资源包\TM\03\PMS\PMS\PMSClass\DBOperate.cs