2.5 公共类设计
视频讲解
在开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。本系统中创建了BaseOperate.cs和OperateAndValidate.cs两个公共类,其中BaseOperate类主要用来访问SQL Server数据库和返回基本的ADO.NET对象,OperateAndValidate类主要用来执行控件绑定和数据验证等功能。在程序开发时,窗体只需调用相应方法即可,下面就分别对这两个类进行介绍。
2.5.1 程序文件架构
主文件架构如图2.14所示。
我方信息管理和统计分析文件架构分别如图2.15和图2.16所示。
图2.14 主文件架构图
图2.15 我方信息管理文件架构图
资料管理和用户管理文件架构分别如图2.17和图2.18所示。
系统维护和帮助文件架构分别如图2.19和图2.20所示。
图2.16 统计分析文件架构图
图2.17 资料管理文件架构图
图2.18 用户管理文件架构图
图2.19 系统维护文件架构图
图2.20 帮助文件架构图
2.5.2 BaseOperate类
BaseOperate.cs类文件中,在命名空间区域引用using System.Data.SqlClient命名空间,用来连接数据库和进行有关数据库的操作。主要代码如下:
例程01 代码位置:资源包\TM\02\CRM\BaseClass\BaseOperate.cs
1.getcon()方法
getcon()方法是返回值为SqlConnection类型的自定义方法,它主要用来建立数据库连接。实现代码如下:
例程02 代码位置:资源包\TM\02\CRM\BaseClass\BaseOperate.cs
代码贴士
❶ 定义SQL Server 2014连接字符串,用户在使用时,需要将Data Source改为自己的SQL Server 2014服务器名。
❷ SqlConnection类用来连接数据库。
2.getcom()方法
getcom()方法为无返回值类型的自定义方法,它主要用来执行SQL语句。实现代码如下:
例程03 代码位置:资源包\TM\02\CRM\BaseClass\BaseOperate.cs
代码贴士
❶ SqlConnection类的Open()方法用来打开数据库连接。
❷ SqlCommand类表示要对SQL Server数据库执行的一个SQL语句或存储过程。
❸ SqlCommand类的ExecuteNonQuery()方法用来执行SqlCommand命令。
❹ SqlCommand类的Dispose()方法用来释放SqlCommand对象占用的资源。
❺ SqlConnection类的Close()方法用来关闭数据库连接。
3.getds()方法
getds()方法用来执行SQL语句,并返回一个DataSet类型的数据集对象。在此方法中,首先调用本类中的getcon()方法实现数据库连接,然后使用SqllDataAdapter类对象填充DataSet数据集。实现代码如下:
例程04 代码位置:资源包\TM\02\CRM\BaseClass\BaseOperate.cs
代码贴士
❶ SqlDataAdapter类表示用于填充DataSet和更新SQL Server数据库的一组数据命令和一个数据库连接。
❷ DataSet是数据的内存驻留表示形式,它表示一个数据集。
❸ SqlDataAdapter类的Fill()方法用来填充DataSet或DataTable数据集。
4.getread()方法
getread()方法主要用来生成一个SqlDataReader类对象,以便从数据表中读取数据。该方法中,首先,使用SqlCommand类对象执行SQL语句,然后调用SqlCommand类的ExecuteReader()方法生成SqlDataReader类的一个对象,并返回该对象。getread(string M_str_sqlstr)方法实现代码如下:
例程05 代码位置:资源包\TM\02\CRM\BaseClass\BaseOperate.cs
2.5.3 OperateAndValidate类
OperateAndValidate.cs类文件中,首先在命名空间区域添加如下命名空间:System.Data.SqlClient、System.Text.RegularExpressions和CrystalDecisions.CrystalReports.Engine,它们分别用来进行数据库操作、自定义正则表达式和进行有关的报表操作,然后生成BaseOperate类的一个对象,通过类对象调用类中的功能方法。实现代码如下:
例程06 代码位置:资源包\TM\02\CRM\BaseClass\OperateAndValidate.cs
1.cboxBind()方法
cboxBind()方法无返回值,它主要用来执行SQL语句,并将执行结果绑定到ComboBox控件中。实现代码如下:
例程07 代码位置:资源包\TM\02\CRM\BaseClass\OperateAndValidate.cs
代码贴士
❶ 调用BaseOperate类中的getds()方法生成一个DataSet数据集对象。
❷ DataSource属性用来获取或设置ComboBox控件的数据源。
❸ DisplayMember属性用来获取或设置要为ComboBox控件显示的属性。
2.validateNum()方法
validateNum()方法无返回值,它主要用来验证输入字符串是否为数字。实现代码如下:
例程08 代码位置:资源包\TM\02\CRM\BaseClass\OperateAndValidate.cs
代码贴士
❶ 使用Regex类的IsMatch()方法验证一个字符串是否为数字,IsMatch()方法用于指示正则表达式在输入字符串中是否找到匹配项。
3.autoNum()方法
autoNum()方法无返回值类型,该方法主要用来根据数据表中记录自动生成编号。实现代码如下:
例程09 代码位置:资源包\TM\02\CRM\BaseClass\OperateAndValidate.cs
代码贴士
❶ DataSet对象的Tables属性用来获取包含在DataSet对象中的表的集合,Count属性用来获取DataSet数据集中记录数。
❷ Convert.ToString()方法用来将输入文本转换成字符串格式。
❸ Convert.ToString()方法用来将输入文本转换成Int类型,SubString()方法用来从字符串的指定位置截取指定长度的字符。
说明
由于篇幅有限,有关OperateAndValidate类中的其他方法请参见本书资源包。