西安郵電大學
综合应用软件课程设计报告
题目:通讯录管理系统
学院名称:计算机学院
专业名称:计算机科学与技术
班级:计科1102
学号:04111043(7)
学生姓名:杨康
指导教师:孟彩霞
2013年09月09日
时间:
至 2013年09月23日
一、课程设计目的
在日常生活中,通讯录是不可或缺的一个工具,它能准确记录我们所要联系的人的各种资料,方便我们和别人交流。这个小小的系统设计可以帮助我更好的巩固学过的VB一级数据库方面的知识,让我学会如何可以简单的将前台与后台联系起来。
二、课程设计内容
随着计算机技术的发展,传统的笔记本式的通讯录已经落伍,设计这个程序就是为了更好地对自己经常联系的个人信息进行管理而产生,主要是针对个人信息的管理。包括联系人的姓名、年龄、性别、工作单位、家庭住址,电话号码等等。对这些信息可以通过输入认证密码来添加,删除,修改等管理操作。
三、软硬件环境及系统所采用的体系结构
(1)操作系统:Windows7
(2)数据库系统:Microsoft SQL Server2008企业版
(3)体系结构:系统的体系结构为C/S结构
(4)开发工具:前台为VB,后台数据库为SQL Server
四、需求分析
本软件可以满足用户的基本要求,联系人查询,添加,修改,删除等功能因有尽有,而且通过账户名和密码可以更好的保护个人的隐私,从而加强程序的安全性。
五、系统设计
1,程序流程图
2,数据库设计(1)系统E-R图
(2)逻辑模式
管理员登录 (用户名 密码)
联系人(姓名 年龄 手机 生日 籍贯 QQ Email )
其中,波浪线为主键。
根据这些需要,本系统需要联系人表、密码表。
六、系统的实施
1,建立数据库结构
本设计使用的是Microsoft SQL Server 2008数据库。程序中共应用了两张数据表,分别是“密码”数据表和“联系人”数据表。这两张数据表的结构如表1和表2所示。
1 密码数据表
该表主要用于管理员登录通讯录的权限,只有表中存在的用户才可以登录该系统。
2 联系人数据表
联系人数据表主要用于浏览通讯录的详细信息,该数据表中记录着通信人的姓名、方式及非类信息等。
管理员
联系人
管理
账号
姓名
年龄
手机
生日
密码 Email
籍贯
2,配置数据源
打开SQL Server企业管理器,配置连接,创建名为“TXL”的数据库。创建数据库后,为数据库添加数据表,
测试成功:
3,程序设计
1 登录界面
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As https://www.doczj.com/doc/844774000.html,mand
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set cm = New https://www.doczj.com/doc/844774000.html,mand
Dim strcnn As String
strcnn = "driver={sql server};server=(local);database=TXL;"
cn.Open strcnn
cm.ActiveConnection = cn
strsql = "select * from dl where zh='" + Text1.Text + "' and mm='" + Text2.Text + "'" Set rs = cn.Execute(strsql)
If rs.EOF = False Then
Form1.Show
Unload Me
Else
MsgBox ("用户名或密码错误,请重新登录!")
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text2.Text = ""
Text1.Text = ""
Text2.PasswordChar = "*"
End Sub
Private Sub Picture1_Click()
End Sub
2 主界面
Private Sub msquitsys_Click()
Form5.Show
End Sub
Private Sub msstuinfo_Click()
Form3.Show
End Sub
Private Sub msstuscore_Click()
Form4.Show
End Sub
Private Sub msstusearch_Click()
Form2.Show
End Sub
Private Sub Picture1_Click()
End Sub
3查询联系人页面
Private Sub Command1_Click()
Dim sqlstr As String
sqlstr = " select * from ps where xm = '" & Text1 & "'"
Adodc1.RecordSource = sqlstr
Adodc1.Refresh
If Adodc1.Recordset.BOF Then
MsgBox "对不起,您查找的联系人不存在!"
End If
End Sub
Private Sub Command2_Click()
Form2.Hide
Form1.Show
End Sub
4 修改联系人页面
Private Sub Command1_Click()
Adodc1.Recordset.AddNew
With Adodc1.Recordset
Adodc1.Recordset.Fields("xm") = Trim(Text1.Text)
Adodc1.Recordset.Fields("age") = Trim(Text2.Text)
Adodc1.Recordset.Fields("tel") = Trim(Text3.Text)
Adodc1.Recordset.Fields("csrq") = Trim(Text4.Text)
Adodc1.Recordset.Fields("jg") = Trim(Text5.Text)
Adodc1.Recordset.Fields("qq") = Trim(Text6.Text)
Adodc1.Recordset.Fields("dzyx") = Trim(Text7.Text)
If Text1.Text = Adodc1.Recordset.Fields("xm") Then
MsgBox "添加成功!"
Text1.Text = ""
Text1.SetFocus
Else
MsgBox "该联系人已存在,不能重复添加!"
Command1.Enabled = True
Command1.Enabled = True
End If
End With
End Sub
Private Sub Command2_Click()
Dim res As Integer
res = MsgBox("是否要删除联系人" + Adodc1.Recordset("xm") + "的记录!", vbExclamation + vbYesNo + vbDefaultButton2)
If res = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
End If
End If
Private Sub Command3_Click()
With Adodc1.Recordset
Adodc1.Recordset.Fields("xm") = Trim(Text1.Text)
Adodc1.Recordset.Fields("age") = Trim(Text2.Text)
Adodc1.Recordset.Fields("tel") = Trim(Text3.Text)
Adodc1.Recordset.Fields("csrq") = Trim(Text4.Text)
Adodc1.Recordset.Fields("jg") = Trim(Text5.Text)
Adodc1.Recordset.Fields("qq") = Trim(Text6.Text)
Adodc1.Recordset.Fields("dzyx") = Trim(Text7.Text)
Adodc1.Recordset.Update
MsgBox "修改成功"
End With
End Sub
Private Sub Command4_Click()
Form3.Hide
Form1.Show
End Sub
在初始化程序时,通过ADO对象访问数据库“关系”表中的数据,从而实现导入联系人的数据信息。
七、系统评价及心得体会
经过两周的时间,完成了对通讯录的设计,经过多次程序的改进与调试,基本符合了老师提出的要求。从最初的茫然,到慢慢进入状态,再到对思路的慢慢清晰,整个设计过程难以用语言表达。遇到困难,我会觉得无从下手,通过查找资料最终解决了问题;当困难解决了,我会觉得豁然开朗。思路打开了;当设计经过有一次次的修改后,我觉得很有成就感。虽然此次设计圆满的完成了,但我深知,探求真知的路程永远不会结束。而成才而言,则是一个漫长积累的过程,必须要执着进取,踏实奋斗,才有望品尝成功的喜悦。总之,向着自己的目标前进,充实的过好每一天,只要无悔,便是成功。而成才而言,则是一个漫长积累的过程,必须要执着进取,踏实奋斗,才有望品尝成功的喜悦人在不同的时期会有不同的观点和想法,但这只是形式上的改变,其基础却已深深扎根于思维深处,是再难总之,向着自己的目标前进,充实的过好每一天,只要无悔,便是成功。总之,通过这次毕业设计的实践,提高我需要的知识、技能,素质,或是在实践中锻炼自己相关的素质,为将来进入社会打下良好的基础。
八、参考文献
《数据库系统原理与应用》孟彩霞编著
《Visual Basic程序设计语言》周元哲编著
九、附录:源代码
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As https://www.doczj.com/doc/844774000.html,mand
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set cm = New https://www.doczj.com/doc/844774000.html,mand
Dim strcnn As String
strcnn = "driver={sql server};server=(local);database=TXL;"
cn.Open strcnn
cm.ActiveConnection = cn
strsql = "select * from dl where zh='" + Text1.Text + "' and mm='" + Text2.Text + "'" Set rs = cn.Execute(strsql)
If rs.EOF = False Then
Form1.Show
Unload Me
Else
MsgBox ("用户名或密码错误,请重新登录!")
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text2.Text = ""
Text1.Text = ""
Text2.PasswordChar = "*"
End Sub
Private Sub Picture1_Click()
End Sub
主界面
Private Sub msquitsys_Click()
Form5.Show
End Sub
Private Sub msstuinfo_Click()
Form3.Show
End Sub
Private Sub msstuscore_Click()
Form4.Show
End Sub
Private Sub msstusearch_Click()
Form2.Show
End Sub
Private Sub Picture1_Click()
End Sub
查询页面
Private Sub Command1_Click()
Dim sqlstr As String
sqlstr = " select * from ps where xm = '" & Text1 & "'"
Adodc1.RecordSource = sqlstr
Adodc1.Refresh
If Adodc1.Recordset.BOF Then
MsgBox "对不起,您查找的联系人不存在!"
End If
End Sub
Private Sub Command2_Click()
Form2.Hide
Form1.Show
End Sub
修改页面
Private Sub Command1_Click()
Adodc1.Recordset.AddNew
With Adodc1.Recordset
Adodc1.Recordset.Fields("xm") = Trim(Text1.Text)
Adodc1.Recordset.Fields("age") = Trim(Text2.Text)
Adodc1.Recordset.Fields("tel") = Trim(Text3.Text)
Adodc1.Recordset.Fields("csrq") = Trim(Text4.Text)
Adodc1.Recordset.Fields("jg") = Trim(Text5.Text)
Adodc1.Recordset.Fields("qq") = Trim(Text6.Text)
Adodc1.Recordset.Fields("dzyx") = Trim(Text7.Text)
If Text1.Text = Adodc1.Recordset.Fields("xm") Then
MsgBox "添加成功!"
Text1.Text = ""
Text1.SetFocus
Else
MsgBox "该联系人已存在,不能重复添加!"
Command1.Enabled = True
Command1.Enabled = True
End If
End With
End Sub
Private Sub Command2_Click()
Dim res As Integer
res = MsgBox("是否要删除联系人" + Adodc1.Recordset("xm") + "的记录!", vbExclamation + vbYesNo + vbDefaultButton2)
If res = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
End If
End If
End Sub
Private Sub Command3_Click()
With Adodc1.Recordset
Adodc1.Recordset.Fields("xm") = Trim(Text1.Text) Adodc1.Recordset.Fields("age") = Trim(Text2.Text) Adodc1.Recordset.Fields("tel") = Trim(Text3.Text) Adodc1.Recordset.Fields("csrq") = Trim(Text4.Text) Adodc1.Recordset.Fields("jg") = Trim(Text5.Text) Adodc1.Recordset.Fields("qq") = Trim(Text6.Text) Adodc1.Recordset.Fields("dzyx") = Trim(Text7.Text) Adodc1.Recordset.Update
MsgBox "修改成功"
End With
End Sub
Private Sub Command4_Click()
Form3.Hide
Form1.Show
End Sub
退出系统页面
Private Sub Form_Load()
Form1.Hide
End Sub
Private Sub Picture1_Click()
End Sub