学生入学签到管理.docx
《学生入学签到管理.docx》由会员分享,可在线阅读,更多相关《学生入学签到管理.docx(15页珍藏版)》请在冰点文库上搜索。
![学生入学签到管理.docx](https://file1.bingdoc.com/fileroot1/2023-7/9/7e7879b4-c33c-46f0-aeca-d35348e495c5/7e7879b4-c33c-46f0-aeca-d35348e495c51.gif)
学生入学签到管理
沈阳航空航天大学
课程设计
学号2009040603063
班级94060302
姓名钱权
指导教师刘学平
2011年7月6日
沈阳航空航天大学
课程设计任务书
学院:
机电工程学院专业:
车辆工程班级:
94060302
学号:
2009040603063题目:
学生入学签到管理
一、课程设计时间:
2011年6月27日~2011年7月1日(第17周),共计1周。
二、课程设计内容:
学生基本数据保存在文本文件或Access数据库的一个表中,数据至少包括:
姓名、班号、学号、家庭地址、联系电话,是否签到等,“是否签到”的初始值为“0”,以“0表示”没签到,以“1”表示已签到。
依据学生数据实现按姓名签到、查询签到人员等功能。
用户界面中的菜单至少应包括“编辑学生数据”、“学生按姓名签到”、“查询签到情况”、“退出”4项。
三、课程设计要求:
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字:
指导教师:
________学生签名:
________
五、成绩:
六、教师评语:
目录
需求分析4
设计分析4
关键技术...........................................................................6
总结11
完整的源程序12
参考文献15
需求分析
模拟学生入学签到管理,主要指学生自主进行签到查询等一系列操作。
包括编辑学生资料、学生签到、查询等基本功能。
要求:
(1)在Access的student中创建表“学生资料”,此表的结构应如下定义:
学生姓名、班级、学号、家庭住址、联系电话、是否签到、6方面信息。
(2)能够随时进行学生资料的编辑(添加、修改、删除)
(3)能够随时按姓名学生签到。
(4)能够随时进行学生签到情况的查询和退出。
设计分析
(1)基本原理:
建立程序设计与数据库的连接,在数据库中查找,添加和更改数据。
(2)总体设计:
(3)详细设计:
(4)数据库设计:
学生资料
姓名
班号
学号
家庭住址
联系电话
是否签到
曹操
刘备
孙权
张辽
关羽
……
关键技术
1.连接数据库:
第一步:
在工程中添加adodc和datagrid控件。
第二步:
使用连接字符串“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\\tsclient\F\钱权VB课设2011\学生入学签到管理.mdb;PersistSecurityInfo=False”点击生成。
第三步:
选择或输入数据库名称:
“\\tsclient\F\钱权VB课设2011\学生入学签到管理.mdb”,点击测试连接,测试成功,点击确定。
第四步:
设置datagrid1属性中的datasaurce,选择adodc1。
2.编辑学生数据:
程序段如下:
PrivateSubt_Click()
Form2.Show
Form2.Text1=""
Form2.Text2=""
Form2.Text3=""
Form2.Text4=""
Form2.Text5=""
Form2.Text6=""
EndSub
PrivateSubCommand1_Click()'新增信息
Form1.Adodc1.Recordset.AddNew
Form1.Adodc1.Recordset.Fields("姓名")=Text1
Form1.Adodc1.Recordset.Fields("班号")=Text2
Form1.Adodc1.Recordset.Fields("学号")=Text3
Form1.Adodc1.Recordset.Fields("家庭地址")=Text4
Form1.Adodc1.Recordset.Fields("联系电话")=Text5
Form1.Adodc1.Recordset.Fields("是否签到")=Val(Text6)
Form1.Adodc1.Recordset.Update
EndSub
PrivateSubCommand2_Click()'结束编辑
Form2.Hide
EndSub
3.学生按姓名签到:
程序段如下:
PrivateSubCommand1_Click()
Form1.Adodc1.Recordset.MoveFirst
a=Form1.Adodc1.Recordset.RecordCount
Fori=1Toa
IfForm1.Adodc1.Recordset.Fields("姓名").Value=Text1Then
IfForm1.Adodc1.Recordset.Fields("是否签到").Value=1Then
MsgBox"此人已签到",,"提示"
Else
Form1.Adodc1.Recordset.Fields("是否签到").Value=1
MsgBox"签到完成",,"提示"
EndIf
Form1.Adodc1.Recordset.Update
Form1.Adodc1.Recordset.Close
Form1.Adodc1.Refresh
ExitFor
Else
Form1.Adodc1.Recordset.MoveNext
EndIf
Ifi=aThen
MsgBox"未签到中无此人!
",,"提示"
ExitSub
EndIf
Nexti
EndSub
4.查询签到情况:
程序段如下:
PrivateSubu_Click()
Adodc1.RecordSource="Select*from学生资料where是否签到=1"
Adodc1.Refresh
EndSub
PrivateSubi_Click()
Adodc1.RecordSource="Select*from学生资料where是否签到=0"
Adodc1.Refresh
EndSub
5.删除:
程序段如下:
PrivateSubCommand2_Click()
ask=MsgBox("确定删除吗?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
EndIf
EndSub
总结
此次课程设计我做的是《学生入学签到管理》,通过一周的课设学习,让我对VB程序设计有了更深层次的认识和理解,更加熟练掌握了对数据库的使用。
虽然这次课设大多是在老师和同学的帮助下完成的,并且在答辩过程中表现的不是很好,但是这次的课设学习让我受益良多、感触颇深。
我相信在以后的VB学习和使用中,一定会更加得心应手。
众所周知,现在是一个信息技术高速发达的时代,我们身边离不开计算机,而计算机离又不开程序,VB程序是众多程序设计中的一种,但它在经济、生活、军事等各个领域起到不可低估的作用,为社会的发展、生活的便捷贡献出了自己的一份力量。
所以,学习好VB是时代的需要,这样我们才会领跑在时代的前沿!
完整的源程序
PrivateSubCommand1_Click()
DataGrid1.AllowUpdate=False
Command1.Visible=True
EndSub
PrivateSubCommand2_Click()
ask=MsgBox("确定删除吗?
",vbYesNo)
Ifask=6Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
EndIf
EndSub
PrivateSubForm_Load()
Form4.Show
Form1.Hide
Dimmpath$,mlink$
mpath=App.Path'获取程序所在的路径
IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"'判断是否为子目录
mlink="Provider=Microsoft.Jet.OLEDB.4.0;"'指定提供者
mlink=mlink+"DataSource="+mpath_
+"学生入学签到管理.mdb"'在数据库文件名前插入路径
Adodc1.ConnectionString=mlink'设置连接属性
Adodc1.CommandType=adCmdUnknown'指定记录集命令类型(可在
设计时指定)
Adodc1.RecordSource="Select*from学生资料"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
PrivateSubi_Click()
Adodc1.RecordSource="Select*from学生资料where是否签到=0"
Adodc1.Refresh
EndSub
PrivateSubr_Click()
End
EndSub
PrivateSubt_Click()
Form2.Show
Form2.Text1=""
Form2.Text2=""
Form2.Text3=""
Form2.Text4=""
Form2.Text5=""
Form2.Text6=""
EndSub
PrivateSubu_Click()
Adodc1.RecordSource="Select*from学生资料where是否签到=1"
Adodc1.Refresh
EndSub
PrivateSubw_Click()
Form3.Show
EndSub
PrivateSuby_Click()
Command1.Visible=True
MsgBox"请点击要修改的数据进行修改",,"提示"
DataGrid1.AllowUpdate=True'允许数据修改
EndSub
PrivateSubCommand1_Click()
Form1.Adodc1.Recordset.AddNew
Form1.Adodc1.Recordset.Fields("姓名")=Text1
Form1.Adodc1.Recordset.Fields("班号")=Text2
Form1.Adodc1.Recordset.Fields("学号")=Text3
Form1.Adodc1.Recordset.Fields("家庭地址")=Text4
Form1.Adodc1.Recordset.Fields("联系电话")=Text5
Form1.Adodc1.Recordset.Fields("是否签到")=Val(Text6)
Form1.Adodc1.Recordset.Update
EndSub
PrivateSubCommand2_Click()
Form2.Hide
EndSub
PrivateSubCommand1_Click()
Form1.Adodc1.Recordset.MoveFirst
a=Form1.Adodc1.Recordset.RecordCount
Fori=1Toa
IfForm1.Adodc1.Recordset.Fields("姓名").Value=Text1Then
IfForm1.Adodc1.Recordset.Fields("是否签到").Value=1Then
MsgBox"此人已签到",,"提示"
Else
Form1.Adodc1.Recordset.Fields("是否签到").Value=1
MsgBox"签到完成",,"提示"
EndIf
Form1.Adodc1.Recordset.Update
Form1.Adodc1.Recordset.Close
Form1.Adodc1.Refresh
ExitFor
Else
Form1.Adodc1.Recordset.MoveNext
EndIf
Ifi=aThen
MsgBox"未签到中无此人!
",,"提示"
ExitSub
EndIf
Nexti
EndSub
PrivateSubCommand1_Click()
Dimpass$
pass=Text1.Text
Ifpass="123456"AndText2.Text="钱权"Then
Form1.Show
Form4.Hide
Else
prompt="密码错误!
"
answer=MsgBox(prompt,vbOKOnly+vbExclamation,"提示")
Form1.Hide
Form4.Hide
EndIf
EndSub
PrivateSubForm_Load()
Text1.MaxLength=6
Text1.PasswordChar="*"
EndSub
参考文献
(1)龚沛曾、杨志强、陆慰民《VisualBasic程序设计教程》.北京:
高等教育出版社,2007
(2)张德强、李云岭、易向东《VisualBasic案例开发》.北京:
中国水利水电出版社,2005
(3)郭清溥、崔清民《VisualBasic程序设计》.北京:
中国铁道出版社,2007