cture2(2).Visible=False
Picture2(0).Visible=False
Picture2(1).Visible=False
Picture2(5).Visible=False
Picture2(4).Visible=False
Picture2(6).Visible=False
Picture2(3).Visible=False
Picture2(7).Visible=False
Picture2(8).Visible=False
Picture2(11).Visible=False
Picture2(10).Visible=False
Picture2(9).Visible=True
state="程序员信息管理"
Toolbar1.Enabled=True
Case"程序员信息查询"
Picture2(2).Visible=False
Picture2(0).Visible=False
Picture2(1).Visible=False
Picture2(5).Visible=False
Picture2(4).Visible=False
Picture2(6).Visible=False
Picture2(3).Visible=False
Picture2(7).Visible=False
Picture2(8).Visible=True
Picture2(9).Visible=False
Picture2(11).Visible=False
Picture2(10).Visible=False
state="程序员信息查询"
Toolbar1.Enabled=False
Case"软件信息管理"
Picture2(2).Visible=False
Picture2(0).Visible=False
Picture2(1).Visible=False
Picture2(5).Visible=False
Picture2(4).Visible=False
Picture2(6).Visible=False
Picture2(3).Visible=False
Picture2(7).Visible=False
Picture2(8).Visible=False
Picture2(11).Visible=False
Picture2(9).Visible=False
Picture2(10).Visible=True
state="软件信息管理"
Toolbar1.Enabled=True
Case"软件信息查询"
Picture2(2).Visible=False
Picture2(0).Visible=False
Picture2(1).Visible=False
Picture2(5).Visible=False
Picture2(4).Visible=False
Picture2(6).Visible=False
Picture2(3).Visible=False
Picture2(7).Visible=False
Picture2(11).Visible=True
Picture2(9).Visible=False
Picture2(8).Visible=False
Picture2(10).Visible=False
state="软件信息查询"
Toolbar1.Enabled=False
Case"更改口令"
frmchangepwd.Show
EndSelect
ExitSub
clickerror:
MsgBoxErr.Description
EndSub
3.6实现工具栏的功能
由于主窗体用到了工具栏,因此需要对这个工具栏内的按钮响应进行设置。
PrivateSubToolbar1_Butt(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key'按关键字选择
Case"bt_new"'新建按钮
datanew
Button.Enabled=False
Toolbar1.Buttons(2).Enabled=False
Toolbar1.Buttons(3).Enabled=False
Toolbar1.Buttons(4).Enabled=True
Toolbar1.Buttons(5).Enabled=True
savestate=1
Case"bt_modify"'修改按钮
Toolbar1.Buttons(1).Enabled=False
Toolbar1.Buttons(2).Enabled=False
Toolbar1.Buttons(3).Enabled=False
Toolbar1.Buttons(4).Enabled=True
Toolbar1.Buttons(5).Enabled=True
savestate=2
modify
Case"bt_delete"'删除按钮
datadelete
Casebt_save"'保存按钮
datasave
Ifsaveback=FalseThen
Button.Enabled=False
Toolbar1.Buttons(1).Enabled=True
Toolbar1.Buttons(2).Enabled=True
Toolbar1.Buttons(3).Enabled=True
Toolbar1.Buttons(5).Enabled=False
EndIf
Case"bt_cancel"'取消按钮
datacancel
Button.Enabled=False
Toolbar1.Buttons(1).Enabled=True
Toolbar1.Buttons(2).Enabled=True
Toolbar1.Buttons(3).Enabled=True
Toolbar1.Buttons(4).Enabled=False
Case"bt_print"'打印按钮
dataprint
Case"bt_first"'移动到第一条按钮
dataMoveFirst
Case"bt_previous"'移动到前一条按钮
dataMovePrevious
Casebt_next"'移动到下一条按钮
datamovenext
Case"bt_last"'移动到最后一条按钮
datamovelase
EndSelect
EndSub
第四章实现家教求职管理模块
4.1实现显示教师信息功能
根据上面的介绍,打开教师信息管理模块后,首先调用viewjiaoshibiao过程显示教师信息。
viewjiaoshibiao过程分为两个部分,一部分用来在文本框中显示每一条教师信息,另外一部分用来在表格中显示目前没有找到教师的学生信息。具体的代码如下:
PublicSubviewjiaoshibiao()
DimiAsInteger
'显示教师信息
Fori=0To18
IfNotIsNull(rs_jiaoshi.Fields(i))Then
txtstuqiu(i).Text=rs_jiaoshi.Fields(i)
txtstuqiu(i).Enabled=False
Else
txtstuqiu(i).Text=""
EndIf
Nexti
IfNotIsNull(rs_jiaoshi.Fields(19))Then
DTPicker1.Value=rs_jiaoshi.Fields(19)
EndIf
IfNotIsNull(rs_jiaoshi.Fields(20))Then
DTPicker2.Value=rs_jiaoshi.Fields(20)
EndIf
'显示表格中的学生信息
Dimrs_stuAsNewADODB.Recordset
DimsqlAsString
sql="select学生编号,学生姓名,希望辅导科目from学生信息where状态='未找到教师'"
rs_stu.CursorLocation=adUseClient
rs_stu.Opensql,conn,adOpenKeyset,adLockPessimistic
WithMSHFlexGrid1
.ScrollBars=flexScrollBarBoth
.FixedCols=1
.Rows=rs_stu.RecordCount+1
.Cols=3
.SelectionMode=flexSelectionByRow
Fori=0To.Rows-1
.RowHeight(i)=315
Next
Fori=0To.Cols-1
.ColWidth(i)=1300
Nexti
'下面设置表头
.Row=0
.Col=0
.Text="学生编号"
.Col=1
.Text="学生姓名"
.Col=2
.Text="希望辅导科目"
IfNotrs_stu.EOFThen
rs_stu.MoveFirst
EndIf
WhileNotrs_stu.EOF
.Row=.Row+1
.Col=0
.Text=rs_stu.Fields(0)
.Col=1
.Text=rs_stu.Fields(1)
.Col=2
.Text=rs_stu.Fields(2)
rs_stu.MoveNext
Wend
rs_stu.Close
EndWith
EndSub
4.2实现配置按钮功能
在教师信息管理模块中,如果在表格中选定某条尚未找到教师的学生,然后单击"<<=="按钮,即可将当前的教师信息和选定的学生信息进行搭配。如果当前教师已经找到学生,则给出显示。具体的代码实现如下:
PrivateSubcmdjiaoshi_Click()'为学生找教师
Toolbar1.Buttons(4).Enabled=True
Toolbar1.Buttons(5).Enabled=True
Ifnumstu=""Then
MsgBox"请选择学生编号!",vbOKOnly
ExitSub
EndIf
Ifrs_jiaoshi.Fields(15)="未找到学生"Then
txtstuqiu(18)=numstu
txtstuqiu(15)="已找到学生"
txtstuqiu(16).Enabled=True
txtstuqiu(17).Enabled=True
MsgBox"要保存信息请单击【保存】按钮,放弃请单击【取消】按钮",vbOKOnly
EndIf
Ifrs_jiaoshi.Fields(15)="已找到学生"Then
MsgBox"该教师已找到学生!",vbOKOnly
ExitSub
EndIf
savestate=3
EndSub
4.3实现教师信息查询功能
教师信息查询模块只有一个"查询"按钮需要填写代码。当单击了"查询"按钮后,首先设定表格(包括表头、行宽、列高等),然后判断当臆的查询方式,一次检查几个Option控件的Value属性是否为True,如果为True则表示选定了当前的查询方式,接着使用where语句限定查询的条件。
首先设定表格显示的表头信息,具体的代码如下:
PrivateSubcmdjiaoshifind_Click()'查找教师信息
Dimrs_jiaoshifindAsNewADODB.Recordset
DimsqlAsString
DimiAsInteger
Withgridjiaoshifind'设置表格
.ScrollBars=flexScrollBarBoth
.FixedCols=1
.Rows=2
.Cols=21
.SelectionMode=flexSelectionByRow
Fori=0To.Rows-1
.RowHeight(i)=315
Next
Fori=0To.Cols-1
.ColWidth(i)=1300
Nexti
'下面设置表头
.Row=0
.Col=0
.Text="教师编号"
.Col=1
.Text="教师姓名"
.Col=2
.Text="性别"
.Col=3
.Text="年龄"
.Col=4
.Text="籍贯"
.Col=5
.Text="学校"
.Col=6
.Text="专业"
.Col=7
.Text="年级"
.Col=8
.Text="职务"
.Col=9
.Text="高考成绩"
.Col=10
.Text="特长"
.Col=11
.Text="爱好"
.Col=12
.Text="联系电话"
.Col=13
.Text="身份证号码"
.Col=14
.Text="通信地址"
.Col=15
.Text="当前状态"
.Col=16
.Text="受理人"
.Col=17
.Text="受理费用"
.Col=18
.Text="学生编号"
.Col=19
.Text="出生日期"
.Col=20
.Text="登记日期"
EndWith
'查询全部信息
Ifoptjiaoshiall.Value=TrueThen
sql="select*from教师信息"
rs_jiaoshifind.CursorLocation=adUseClient
rs_jiaoshifind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridjiaoshifind.Row=0
gridjiaoshifind.Rows=rs_jiaoshifind.RecordCount+2
IfNotrs_jiaoshifind.EOFThen'如果数据库非空
rs_jiaoshifind.MoveFirst
DoWhileNotrs_jiaoshifind.EOF
gridjiaoshifind.Row=gridjiaoshifind.Row+1
Fori=0To20
gridjiaoshifind.Col=i
IfNotIsNull(rs_jiaoshifind.Fields(i))Then
gridjiaoshifind.Text=rs_jiaoshifind.Fields(i)
Else
gridjiaoshifind.Text=""
EndIf
Nexti
rs_jiaoshifind.MoveNext
Loop
rs_jiaoshifind.Close
EndIf
EndIf
'查询已找到学生的教师
Ifoptjiaoshiyi.Value=TrueThen
sql="select*from教师信息where当前状态='已找到学生'"
rs_jiaoshifind.CursorLocation=adUseClient
rs_jiaoshifind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridjiaoshifind.Row=0
gridjiaoshifind.Rows=rs_jiaoshifind.RecordCount+2
IfNotrs_jiaoshifind.EOFThen
rs_jiaoshifind.MoveFirst
DoWhileNotrs_jiaoshifind.EOF
gridjiaoshifind.Row=gridjiaoshifind.Row+1
Fori=0To20
gridjiaoshifind.Col=i
IfNotIsNull(rs_jiaoshifind.Fields(i))Then
gridjiaoshifind.Text=rs_jiaoshifind.Fields(i)
Else
gridjiaoshifind.Text=""
EndIf
Nexti
rs_jiaoshifind.MoveNext
Loop
rs_jiaoshifind.Close
EndIf
EndIf
'查询未找到学生的教师
Ifoptjiaoshiwei.Value=TrueThen
sql="select*from教师信息where当前状态='未找到学生'"
rs_jiaoshifind.CursorLocation=adUseClient
rs_jiaoshifind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridjiaoshifind.Row=0
gridjiaoshifind.Rows=rs_jiaoshifind.RecordCount+2
IfNotrs_jiaoshifind.EOFThen
rs_jiaoshifind.MoveFirst
DoWhileNotrs_jiaoshifind.EOF
gridjiaoshifind.Row=gridjiaoshifind.Row+1
Fori=0To20
gridjiaoshifind.Col=i
IfNotIsNull(rs_jiaoshifind.Fields(i))Then
gridjiaoshifind.Text=rs_jiaoshifind.Fields(i)
Else
gridjiaoshifind.Text=""
EndIf
Nexti
rs_jiaoshifind.MoveNext
Loop
rs_jiaoshifind.Close
EndIf
EndIf
'按找学校查询教师信息
Ifoptjiaoshischool.Value=TrueThen
sql="select*from教师信息where学校='"&txtschool.Text&"'"
rs_jiaoshifind.CursorLocation=adUseClient
rs_jiaoshifind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridjiaoshifind.Row=0
gridjiaoshifind.Rows=rs_jiaoshifind.RecordCount+2
IfNotrs_jiaoshifind.EOFThen
rs_jiaoshifind.MoveFirst
DoWhileNotrs_jiaoshifind.EOF
gridjiaoshifind.Row=gridjiaoshifind.Row+1
Fori=0To20
gridjiaoshifind.Col=i
IfNotIsNull(rs_jiaoshifind.Fields(i))Then
gridjiaoshifind.Text=rs_jiaoshifind.Fields(i)
Else
gridjiaoshifind.Text=""
EndIf
Nexti
rs_jiaoshifind.MoveNext
Loop
rs_jiaoshifind.Close
EndIf
EndIf
'按照专业查询教师
Ifoptjiaoshimajor.Value=TrueThen
sql="select*from教师信息where专业='"&txtmajor.Text&"'"
rs_jiaoshifind.CursorLocation=adUseClient
rs_jiaoshifind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridjiaoshifind.Row=0
gridjiaoshifind.Rows=rs_jiaoshifind.RecordCount+2
IfNotrs_jiaoshifind.EOFThen
rs_jiaoshifind.MoveFirst
DoWhileNotrs_jiaoshifind.EOF
gridjiaoshifind.Row=gridjiaoshifind.Row+1
Fori=0To20
gridjiaoshifind.Col=i
IfNotIsNull(rs_jiaoshifind.Fields(i))Then
gridjiaoshifind.Text=rs_jiaoshifind.Fields(i)
Else
gridjiaoshifind.Text=""
EndIf
Nexti
rs_jiaoshifind.MoveNext
Loop
rs_jiaoshifind.Close
EndIf
EndIf
EndSub
第五章实现学生信息管理模块
5.1实现显示学生信息功能
打开学生信息管理模块后,首先调用viewxueshengbiao过程显示教师信息。
viewxueshengbiao过程分为两部分,一部分用来在文本框中显示每一条学生信息,另外一部分用来在表格中显示目前没有找到教师的学生信息。
'学生信息显示数据用
PublicSubviewxueshengbiao()
DimiAsInteger
Fori=0To18
IfNotIsNull(rs_xuesheng.Fields(i))Then
txtxuesheng(i).Text=rs_xuesheng.Fields(i)
txtxuesheng(i).Enabled=False
Else
txtxuesheng(i).Text=""
EndIf
Nexti
IfNotIsNull(rs_xuesheng.Fields(19))Then
DTPicker3.Value=rs_xuesheng.Fields(19)
EndIf
'显示表格中的学生信息
Dimrs_stuAsNewADODB.Recordset
DimsqlAsString
sql="select教师编号,教师姓名,专业from教师信息where当前状态='未找到学生'"
rs_stu.CursorLocation=adUseClient
rs_stu.Opensql,conn,adOpenKeyset,adLockPessimistic
WithMSHFlexGrid2
.ScrollBars=flexScrollBarBoth
.FixedCols=1
.Rows=rs_stu.RecordCount+1
.Cols=3
.SelectionMode=flexSelectionByRow
Fori=0To.Rows-1
.RowHeight(i)=315
Next
Fori=0To.Cols-1
.ColWidth(i)=1300
Nexti
'下面设置表头
.Row=0
.Col=0
.Text="教师编号"
.Col=1
.Text="教师姓名"
.Col=2
.Text="专业"
IfNotrs_stu.BOFThen
rs_stu.MoveFirst
EndIf
WhileNotrs_stu.EOF
.Row=.Row+1
.Col=0
IfNotIsNull(rs_stu.Fields(0))Then
.Text=rs_stu.Fields(0)
EndIf
.Col=1
IfNotIsNull(rs_stu.Fields(1))Then
.Text=rs_stu.Fields(1)
EndIf
.Col=2
IfNotIsNull(rs_stu.Fields(2))Then
.Text=rs_stu.Fields(2)
EndIf
rs_stu.MoveNext
Wend
rs_stu.Close
EndWith
EndSub
5.2实现配置按钮功能
在学生信息管理模块中,如果在表格中选定某条尚未找到学生的教师,然后单击"《=="按钮,即可将当前的学生信息和选定的教师信息进行搭配。如果当前学生已经找到教师,则给出提示。具体的代码实现如下:
PrivateSubcmdxuesheng_Click()'为学生找教师按钮
Toolbar1.Buttons(4).Enabled=True
Toolbar1.Buttons(5).Enabled=True
Ifnumjiaoshi=""Then
MsgBox"请选择教师编号!",vbOKOnly
ExitSub
EndIf
Ifrs_xuesheng.Fields(15)="未找到教师"Then
txtxuesheng(16)=numjiaoshi
txtxuesheng(15)="已找到学生"
txtxuesheng(18).Enabled=True
MsgBox"要保存信息请单击【保存】按钮,放弃请单击【取消】按钮",vbOKOnly
EndIf
Ifrs_xuesheng.Fields(15)="已找到教师"Then
MsgBox"该学生已找到教师!",vbOKOnly
ExitSub
EndIf
savestate=3
EndSub
5.3实现学生信息查询功能
学生信息查询模块只有一个"查询"按钮需要填写代码。当单击"查询"按钮后,首先设定表格(包括表头、行宽、列高等),然后判断当前的查询方式,一次检查几个Option控件的Value属性是否为true,如果为True则表示选定了当前的查询方式,接着使用where语句限定查询的条件。
首先设置表格的表头,具体的代码如下:
PrivateSubcmdxueshengfind_Click()'查询学生信息
Dimrs_xueshengfindAsNewADODB.Recordset
DimsqlAsString
DimiAsInteger
Withgridxueshengfind'设置表格
.ScrollBars=flexScrollBarBoth
.FixedCols=1
.Rows=2
.Cols=20
.SelectionMode=flexSelectionByRow
Fori=0To.Rows-1
.RowHeight(i)=315
Next
Fori=0To.Cols-1
.ColWidth(i)=1300
Nexti
'下面设置表头
.Row=0
.Col=0
.Text="学生编号"
.Col=1
.Text="学生姓名"
.Col=2
.Text="性别"
.Col=3
.Text="年龄"
.Col=4
.Text="学校"
.Col=5
.Text="年级"
.Col=6
.Text="平时成绩"
.Col=7
.Text="学习状况"
.Col=8
.Text="希望辅导科目"
.Col=9
.Text="预习目标"
.Col=10
.Text="家庭住址"
.Col=11
.Text="联系电话"
.Col=12
.Text="愿付报酬"
.Col=13
.Text="联系人"
.Col=14
.Text="身份证号码"
.Col=15
.Text="状态"
.Col=16
.Text="教师编号"
.Col=17
.Text="受理人"
.Col=18
.Text="收费"
.Col=19
.Text="受理日期"
EndWith
'查找全部
Ifoptxueshengall.Value=TrueThen
sql="select*from学生信息"
rs_xueshengfind.CursorLocation=adUseClient
rs_xueshengfind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridxueshengfind.Row=0
gridxueshengfind.Rows=rs_xueshengfind.RecordCount+2
IfNotrs_xueshengfind.EOFThen
rs_xueshengfind.MoveFirst
DoWhileNotrs_xueshengfind.EOF
gridxueshengfind.Row=gridxueshengfind.Row+1
Fori=0To19
gridxueshengfind.Col=i
IfNotIsNull(rs_xueshengfind.Fields(i))Then
gridxueshengfind.Text=rs_xueshengfind.Fields(i)
Else
gridxueshengfind.Text=""
EndIf
Nexti
rs_xueshengfind.MoveNext
Loop
rs_xueshengfind.Close
EndIf
EndIf
'查找已找到教师的学生
Ifoptxueshengyi.Value=TrueThen
sql="select*from学生信息where状态='已找到教师'"
rs_xueshengfind.CursorLocation=adUseClient
rs_xueshengfind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridxueshengfind.Row=0
gridxueshengfind.Rows=rs_xueshengfind.RecordCount+2
IfNotrs_xueshengfind.EOFThen
rs_xueshengfind.MoveFirst
DoWhileNotrs_xueshengfind.EOF
gridxueshengfind.Row=gridxueshengfind.Row+1
Fori=0To19
gridxueshengfind.Col=i
IfNotIsNull(rs_xueshengfind.Fields(i))Then
gridxueshengfind.Text=rs_xueshengfind.Fields(i)
Else
gridxueshengfind.Text=""
EndIf
Nexti
rs_xueshengfind.MoveNext
Loop
rs_xueshengfind.Close
EndIf
EndIf
'查找未找到教师的学生
Ifoptxueshengwei.Value=TrueThen
sql="select*from学生信息where状态='未找到教师'"
rs_xueshengfind.CursorLocation=adUseClient
rs_xueshengfind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridxueshengfind.Row=0
gridxueshengfind.Rows=rs_xueshengfind.RecordCount+2
IfNotrs_xueshengfind.EOFThen
rs_xueshengfind.MoveFirst
DoWhileNotrs_xueshengfind.EOF
gridxueshengfind.Row=gridxueshengfind.Row+1
Fori=0To19
gridxueshengfind.Col=i
IfNotIsNull(rs_xueshengfind.Fields(i))Then
gridxueshengfind.Text=rs_xueshengfind.Fields(i)
Else
gridxueshengfind.Text=""
EndIf
Nexti
rs_xueshengfind.MoveNext
Loop
rs_xueshengfind.Close
EndIf
EndIf
'按学校名称查询教师
Ifoptxueshengschool.Value=TrueThen
sql="select*from学生信息where学校='"&txtstuschool.Text&"'"
rs_xueshengfind.CursorLocation=adUseClient
rs_xueshengfind.Opensql,conn,adOpenKeyset,adLockPessimistic
gridxueshengfind.Row=0
gridxueshengfind.Rows=rs_xueshengfind.RecordCount+2
IfNotrs_xueshengfind.EOFThen
rs_xueshengfind.MoveFirst
DoWhileNotrs_xueshengfind.EOF
gridxueshengfind.Row=gridxueshengfind.Row+1
Fori=0To19
gridxueshengfind.Col=i
IfNotIsNull(rs_xueshengfind.Fields(i))Then
gridxueshengfind.Text=rs_xueshengfind.Fields(i)
Else
gridxueshengfind.Text=""
EndIf
Nexti
rs_xueshengfind.MoveNext
Loop
rs_xueshengfind.Close
EndIf
EndIf
EndSub
第六章实现数据报表功能
6.1数据环境设计器
数据环境设计器为创建编程运行时数据访问提供了一个交互的设计环境。在设计时,可以对Connection和Command对象设置适当的值、编写代码响应ADO事件、执行command、创建合计与层次结构。也可以施放DataEnvironment对象到窗体或报表来创建数据绑定的控件。
下面简单介绍数据环境设计器的使用。
(1)首先在菜单栏中一次选择"工程""添加DataEnvironment"菜单,添加一个数据环境设计器DataEnvironment到工程中,如图5所示。
(2)在DataEnvironment1中含有一个名称为Connection1的对象。用鼠标右键单击这个对象,选择"属性"命令,打开"数据链接属性"对话框,如图6所示。
图5数据环境设计器
图6"数据链接属性"对话框
(3)在"提供程序"选项卡内选择"MicrosoftJet4.0OLEDBProvider"选项。单击"连接"选项卡,如图7所示。在这个选项卡内选择数据表所在的数据库名称。
(4)单击"确定"按钮,返回到数据环境设计器窗口。然后用鼠标右键单击Connection1对象,选择"添加命令"按钮,此时会添加一个Command对象,如图8所示。
(5)用鼠标右键单击Command对象,选择"属性"命令,打开属性对话框,如图9所示。
在"通用"选项卡内选取"数据库对象"下拉列表中的"表"项,对"对象名称"下拉列表中选择"教师信息"表。
通过以上步骤,建立了一个Connection对象和一个Command对象,如果不使用数据环境设计器,使用ADO也可以建立这两个对象。
6.2建立报表
下面介绍"教师信息"表输入成报表的制作过程。
(1)首先添加一个DataEnvironment到工程中,并建立Connection对象和Command对象。
(2)添加一个DataReport到工程中。DataReport的结构包括报表标头(Section4)、页标头(Section2)、细节(Section1)、页注脚(Section3)、报表注脚(Section5)等5部分。DataReport本身是一个对象,这五个部分也是一个对象,如图10所示。
(3)利用属性窗体设置DataReport的属性,设置DataSource属性为DataEnvironment1,设置DataMember属性为Command1。
(4)从数据环境设计器中拖放Command对象到报表生成器中的细节区域。此时,细节区域如图11所示。
(5)在系统主窗体上实现显示报表的功能。可以添加一个命令按钮,在命令按钮的代码中输入如下的语句:
DataReport1.show
执行这个命令后,系统即可显示数据报表。
第七章系统测试
软件测试的目的和原则
在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试的基本层次如图所示。
测试的基本层次
(1)单元测试单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。
(2)集成测试在这个测试步骤中所发现的往往是概要设计的错误。
(3)系统测试在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。
主界面图如下:
教师信息管理界面如下:
网站信息查询界面如下:
系统设置界面如下:
子系统测试
在系统的开发过程中,每开发完一个模块都会进行模块功能测试,由于系统还没有最后完成,现在暂时还不能进行集成和系统测试,这部分将在系统完成后才能进行。
第八章结论与体会
通过毕业设计我有以下几点体会:
通过使用VB编程,使人真正体会到了可视化编程的优点,自己动手开发小规模的应用系统,学会一种规范化的编程方法,使我加深了对软件的理解。学以致用,学用结合,这既是学习理论知识目的,也是检验学习的最好方法。当然这次的管理系统也一定存在着许多不足之处,如要增加数据库备份功能,增强报表功能,但为将来的升级提供了更多的方便的途径。
毕业设计是整个教学过程的最后环节,是学生综合运用所学知识解决实际问题能力的考查。这次毕业实际不仅使我了解了VB在数据库方面编程的概要,更让我知道了计算机的变成秘诀在于严密的思考与仔细的推敲,只有这样,才会有一个完善的软件生成。
在此,我能够依据实际情况以及课堂上所学习的知识,应用到自己的实际工作,帮助解决工作过程中的问题,对实施方法程序有深刻理解,在数据库设计方面,编程技术方面有了一定的进步。通过这一系列工作使我系统地掌握三年来所学的专业知识,并基本掌握了开发一个应用软件的能力。
在短短的两个月内,通过参考各种VB编程书籍、网上查找信息以及老师的耐心知道下,完成了这次毕业设计-兼职中介管理系统。在编译过程中,最让我印象深刻的是用DATA控件访问数据,由于DATA控件的局限性,因此在查询时,碰到了一些不能查询数据的麻烦,但VB6.0中有新增的DBLIST功能,可以直接通过此控件来访问数据库,当我找到此方法时,那么所完成的查询就更为完善了。
完成这次设计,心理非常高兴,也有一点成就感,因为这是我独立完成的第一个软件,我相信它将在今后的工作生活中为我带来不小的影响。
最后,我还要感谢多方面的支持以及帮助过我的人,尤其是我的指导老师,他仔细认真的态度,对我的帮助是非常大的,使得我更完善地完成了这次管理系统。
参考文献
[1]VisualBasic6.0使用指南
作者:BobReselman,RichardPeasley,WaynePruchniak.
出版社:电子工业出版社
[2]VisualBasic6.0中文版控件大全
作者:Microsoft
出版社;电子工业出版社
[3]中文Access200024学时教程
作者:CraigEddy,TimothyBuchanan
出版社:机械工业出版社
??
??
??
??
1
上一篇:
vb公历农历转换(论文和程序)
下一篇:
张方宇那些让人脸发烫的语录2