论文部分内容阅读
【摘 要】本文采用Visual Studio 2008+SQL Server 2008开发环境,结合WinForms、ADO.NET等多种技术,实现了一个集人性化界面与多功能设计为一体的通讯录管理系统。经过测试,本软件可满足现代人们对通讯管理的需求,达到预期效果。
【关键词】C# ADO NET
一、引言
在通信普及的今天,人们对通信的依赖越来越大,人们之间会经常联系。传统方法是将人的通讯信息记录在本子上,但在现今社会,随着电脑普及,人们可把通讯信息记录在电脑上,方便人们的工作和生活。本文用c#和SQL SERVER 2008设计了一个通讯录系统。
二、系统功能模块
该系统分如下几个模块:
登录验证子系统:
系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。
联系人管理子系统:
登录成功后将进入系统的主窗口(FormMain.cs)。
其中组别是对联系人分的类,固定为家人、朋友和同事这三类,主窗口第一次显示时,默认显示家人组别的所有联系人。可以在组别下拉列表中选择不同的组别,同时下面的ListView自动显示不同组别的所有联系人。在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人。当用户单击新增联系人菜单项时,弹出新增联系人窗体,以实现新增。
当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出修改或查看窗体,以实现修改或查看联系人。
当用户在主窗体上的姓名和(或)联系电话文本框中输入关键词,再单击搜索按钮,可以按姓名和(或)联系电话搜索联系人,搜索的结果显示在下面的ListView中。
单击查看菜单下的图标或详细信息菜单项,可以控制ListView按大图标或详细信息方式显示。
三、关键实现技术
(一)数据库设计
根据前面的分析,数据库包括两个模块,至少要包含如下2张表:
模块1:
模块2:
Users表 存放了用户登录用的用户名和密码。
Records表 存放了所有联系人的信息,其中主键编号为自动增长类型。
以上2张表是必须包含的,如果你要让此软件功能更完善的话,可自行添加其他的表。
(二)db类
由于该系统多处需要连接数据库然后执行SQL命令,为了提高代码的重用率,减少代码冗余,便于以后维护,故将所有操作数据库的代码放到一个名为db的类中,在该类中定义一个连接类型的字段,在构造函数中实现数据库的连接。
(三)UpdateList()方法
在主窗体(FormMain.cs)中有很多事件处理程序需要更新显示ListView中的联系人信息,所以把更新显示ListView的代码单独做成一个方法UpdateList(),放在FormMain.cs中,同时在FormMain.cs中定义一个string类型的字段sql,用来存放UpdateList()方法需要用到的查询语句,这样FormMain.cs中所有的事件处理程序都可以共用sql这个字段。UpdateList()方法的具体设计思路如下:
首先将ListView中的所有项清空,然后根据sql字段中存放的查询语句查询Records表,将查询出来的记录一条条显示在ListView中,同时设置ListView中每一项的标志为编号字段的值,这样做的目的是为了删除或修改(查看)联系人时能够根据编号字段的值执行相应的delete或update(select)语句。
(四)窗体之间数据的传递
当选中联系人,然后修改或查看时,会弹出新的窗体(FrmMod.cs),这时需要把主窗体中选中联系人的编号传给FrmMod.cs,要实现这个目的,需要在FrmMod.cs中定义一个string类型的字段id,用来接收主窗体传来的编号。具体来说,当主窗体创建了FrmMod.类的对象后,将编号赋给该对象的id字段,然后再显示FrmMod窗体。
四、结束语
本系统的开发环境为VS2008,以SQL SERVER2008为后台数据库支撑环境,设计出了有实用价值的通讯录系统,该系统与同类系统相比,不仅性能较高、运行较为稳定,而且具有较好的可维护性和可扩展性。
参考文献:
[1]马振晗. SQL Server 2008宝典[M]. 清华大学出版社,2011,7
[2]李志中,谢云.Visual C# 2008数据库编程实训教程[M]. 清华大学出版社,2012,7
【关键词】C# ADO NET
一、引言
在通信普及的今天,人们对通信的依赖越来越大,人们之间会经常联系。传统方法是将人的通讯信息记录在本子上,但在现今社会,随着电脑普及,人们可把通讯信息记录在电脑上,方便人们的工作和生活。本文用c#和SQL SERVER 2008设计了一个通讯录系统。
二、系统功能模块
该系统分如下几个模块:
登录验证子系统:
系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。
联系人管理子系统:
登录成功后将进入系统的主窗口(FormMain.cs)。
其中组别是对联系人分的类,固定为家人、朋友和同事这三类,主窗口第一次显示时,默认显示家人组别的所有联系人。可以在组别下拉列表中选择不同的组别,同时下面的ListView自动显示不同组别的所有联系人。在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人。当用户单击新增联系人菜单项时,弹出新增联系人窗体,以实现新增。
当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出修改或查看窗体,以实现修改或查看联系人。
当用户在主窗体上的姓名和(或)联系电话文本框中输入关键词,再单击搜索按钮,可以按姓名和(或)联系电话搜索联系人,搜索的结果显示在下面的ListView中。
单击查看菜单下的图标或详细信息菜单项,可以控制ListView按大图标或详细信息方式显示。
三、关键实现技术
(一)数据库设计
根据前面的分析,数据库包括两个模块,至少要包含如下2张表:
模块1:
模块2:
Users表 存放了用户登录用的用户名和密码。
Records表 存放了所有联系人的信息,其中主键编号为自动增长类型。
以上2张表是必须包含的,如果你要让此软件功能更完善的话,可自行添加其他的表。
(二)db类
由于该系统多处需要连接数据库然后执行SQL命令,为了提高代码的重用率,减少代码冗余,便于以后维护,故将所有操作数据库的代码放到一个名为db的类中,在该类中定义一个连接类型的字段,在构造函数中实现数据库的连接。
(三)UpdateList()方法
在主窗体(FormMain.cs)中有很多事件处理程序需要更新显示ListView中的联系人信息,所以把更新显示ListView的代码单独做成一个方法UpdateList(),放在FormMain.cs中,同时在FormMain.cs中定义一个string类型的字段sql,用来存放UpdateList()方法需要用到的查询语句,这样FormMain.cs中所有的事件处理程序都可以共用sql这个字段。UpdateList()方法的具体设计思路如下:
首先将ListView中的所有项清空,然后根据sql字段中存放的查询语句查询Records表,将查询出来的记录一条条显示在ListView中,同时设置ListView中每一项的标志为编号字段的值,这样做的目的是为了删除或修改(查看)联系人时能够根据编号字段的值执行相应的delete或update(select)语句。
(四)窗体之间数据的传递
当选中联系人,然后修改或查看时,会弹出新的窗体(FrmMod.cs),这时需要把主窗体中选中联系人的编号传给FrmMod.cs,要实现这个目的,需要在FrmMod.cs中定义一个string类型的字段id,用来接收主窗体传来的编号。具体来说,当主窗体创建了FrmMod.类的对象后,将编号赋给该对象的id字段,然后再显示FrmMod窗体。
四、结束语
本系统的开发环境为VS2008,以SQL SERVER2008为后台数据库支撑环境,设计出了有实用价值的通讯录系统,该系统与同类系统相比,不仅性能较高、运行较为稳定,而且具有较好的可维护性和可扩展性。
参考文献:
[1]马振晗. SQL Server 2008宝典[M]. 清华大学出版社,2011,7
[2]李志中,谢云.Visual C# 2008数据库编程实训教程[M]. 清华大学出版社,2012,7