通讯录管理系统说明书
一、使用的技术和开发平台:
基于技术开发的数据库应用程序。
开发平台为windows,使用的语言为C#2008,数据库为:MSSQL SERVER2008
二、系统功能模块
本系统是使用c#2008和MSSQL SERVER2008开发的一个数据库应用程序,其主要功能是实现对不同组别的联系人信息进行管理,具体来说分如下几个功能模块:
1、后台管理模块
对系统管理员账户的添加、删除、修改等操作
2、登录验证系统
系统启动时,将出现登录窗口,要求用户输入正确的用户名和密码,否则无法进入系统。
2、联系人管理系统
登录成功后将进入系统的主窗口(FormMain.cs),如下图所示:
其中组别是对联系人分的类,根据添加到数据库中的所有联系人的组别确定,是可以更改的。
主窗口第一次显示时,默认显示第一个组别的所有联系人。
可以在左边树形列表中选择不同的组别,同时右边的ListView自动显示不同组别的所有联系人。
在联系人菜单下可以实现新增联系人、删除联系人、修改或查看联系人以及搜索,不论是新增、删除还是修改联系人完毕后,下面的ListView会同时更新显示联系人及组别。
状态栏显示登录账户名和选中组别包含的联系人个数。
当用户单击新增联系人菜单项时,弹出如下窗体(FrmAdd.cs),以实现新增:
其中组别是根据数据库中已有的组别自动加载到组合框中的。
当用户在ListView中选择某个联系人后再单击删除联系人菜单项,可将该联系人删除。
当用户在ListView中双击某个联系人或单击修改或查看联系人菜单项,会弹出如下窗体(FrmMod.cs),以实现修改或查看联系人:不论是添加还是修改联系人时,组别都是可以修改的,注意姓名和组别不能为空。
当用户在主窗体上的姓名和(或)联系电话文本框中输入关键字,再单击搜索按钮,可以按姓名和(或)联系电话搜索联系人,搜索的结果显示在下面的ListView中。
联系人菜单中的搜索也具有同样的功能
单击查看查看菜单下或工具栏的图标或详细信息菜单项,可以控制ListView按大图标或详细信息方式显示。
三、数据库设计
建立名为CommuList的数据库,该数据库包含如下两张表:
1、Users表
该表存放了用户登录用的用户名和密码。
2、Records表
该表存放了所有联系人及所属组别的信息,其中主键编号为自动增长类型,出生日期字段默认值为getdate(),体重字段默认值为60。
四、详细设计
1、db类
由于该系统多处需要连接数据库然后执行SQL命令,为了提高代码的重用率,减少代码冗余,便于以后维护,故将所有操作数据库的代码放到一个名为db的类中,在该类中定义一个连接类型的字段,在构造函数中实现数据库的连接。
db类中还有如下方法:
2、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)语句。
3、窗体之间数据的传递
当选中联系人,然后修改或查看时,会弹出新的窗体(FrmMod.cs),这时需要把主窗体中选中联系人的编号传给FrmMod.cs,要实现这个目的,需要在FrmMod.cs中定义一个string类型的字段id,用来接收主窗体传来的编号。
具体来说,当主窗体创建了FrmMod.类的对象后,将编号赋给该对象的id字段,然后再显示FrmMod窗体。
各个功能的具体实现:比如要放置什么控件、设置什么属性、编写什么事件处理程序,对核心程序代码的具体解释。
五、总结
学到了什么?觉得此系统还有哪些不足?。