进度2-11年第10次课-工程数据库技术

上传人:ji****72 文档编号:51937957 上传时间:2018-08-17 格式:PPT 页数:103 大小:4.16MB
返回 下载 相关 举报
进度2-11年第10次课-工程数据库技术_第1页
第1页 / 共103页
进度2-11年第10次课-工程数据库技术_第2页
第2页 / 共103页
进度2-11年第10次课-工程数据库技术_第3页
第3页 / 共103页
进度2-11年第10次课-工程数据库技术_第4页
第4页 / 共103页
进度2-11年第10次课-工程数据库技术_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《进度2-11年第10次课-工程数据库技术》由会员分享,可在线阅读,更多相关《进度2-11年第10次课-工程数据库技术(103页珍藏版)》请在金锄头文库上搜索。

1、1机电工程学院 吴卓葵工程数据库技术第7章 数据库系统设计7.1 登录模块设计(1)演示与分析1.打开“登录”窗体时,焦点落在“用户名” 文本框。 2.单击“登录”按钮后,处理的事件有: 判断是否输入学号或教师号,若没有,给出提示; 判断是否输入密码,若没有,给出提示; 判断学号或教师号是否存在,若不存在给出提示; 判断密码是否正确,若不正确,给出提示;若正确,进入系统。 3.单击“退出”按钮,则关闭系统。(2)界面设计窗体标签组合框标签文本框标签文本框按钮按钮招兵买马(放置控件)窗体标签组合框标签文本框标签文本框按钮按钮认识新员工,起绰号(控件命名,很重要)登录用户类 型标签用户类型 组合框

2、用户名 标签用户名 文本框密码 标签密码文 本框登录 按钮退出 按钮员工培训(控件设置) 1)窗体培训(窗体设置) 1.取消滚动条 2.取消最大最小化按钮 3.取消分割线 4.取消导航按钮 5.取消记录选择器 6.添加背景图片以美化界面(嵌入、拉伸、窗体中心)2)组合框培训(组合框设置) 默认值为学生3)密码文本框培训(密码文本框设置) 输入值为显示为密码符号。4)标签培训(标签设置) 显示为粗体。(3)功能实现关键代码介绍(1) Me!用户名文本框.SetFocus把光标落在当前窗体的 名字为“用户名文本框” 的控件上,以便于输入(2) IsNull(Me!用户名文本框)1个判断当前窗体的名

3、字 为“用户名文本框”的文 本框是否被输入内容的 函数(3)MsgBox(“请输入用户名!“, vbOKOnly, “ 请确定!“)(4)MsgBox(“请输入用户名!“, vbOKCancel, “请 确定!“)(5)If MsgBox(“请输入用户名!“, vbOKOnly, “ 请确定!“)=vbOK Then (6)If MsgBox(“请输入用户名!“, vbOKCancel, “请确定!“)=vbCancel Then 若单击了“确定”按 钮,执行操作若单击了“取消”按 钮,执行操作(7)Exit Sub退出子程序(8)End Sub结束子程序(9)StrComp(str1, st

4、r2,vbBinaryCompare)对2个字符串进行比较,区分大小写。若相同,返回0;若不同,返回1。(10)DoCmd.OpenForm “学生主窗体”打开名字为“学生主窗体”的窗体(11)DoCmd.Close acForm, “登录” 关闭名字为“登录”的窗体(12) DoCmd.Quit退出整个系统,把ACCESS关闭。(13) 读取数据库数据的方法SELECT * FROM S WHERE SEX=男1)查询S表中性别为男的学生记录。写出SQL语句;执行SQL语句获取结果;在程序中嵌入执行SQL语句的不同思考:若具体的性别用窗体的文本框输入,该文本框 的名字为“性别”,上面的SQL

5、语句应该怎样写?写出SQL语句; 在程序里,所有的值都应指明数据类型。 SQL语句为字符串类型,可存进字符串变量。 DIM SQLstring as String SQLstring= “SELECT * FROM S WHERE SEX=男 “SQLstring= “SELECT * FROM S WHERE SEX=男 “SQLstring= “SELECT * FROM S WHERE SEX=“ +Me!性别+ “ “SQLstring= “SELECT * FROM S WHERE SEX=“ + “男“ + “执行SQL语句获取结果; 在程序里可没有按钮一点就运行,应该用执行语句运

6、行的结果是1个表格,表格在程序里应怎样表示?把表格当作1种数据类型,跟字符串一样,这种数 据类型称为ADODB.Recordset。该数据类型为对象类型,在使用前应该分配空间Dim rs As ADODB.RecordsetSet rs=New ADODB.Recordsetrs.Open SQLstring,CurrentProject.Connection, adOpenKeyset,adLockOptimistic rs.Open SQLstring,CurrentProject.Connection, adOpenKeyset,adLockOptimistic 执行SQL语句, 结果存

7、入rs变量要执行的SQL语 句指明要连接的数 据库1个表可能被多个用户操作。 adOpenKeyset是一种游标类型,因为表格有多行,即多条记录 ,游标表示在记录间移动的方式。 adOpenKeyset为键集游标,对其他用户的修改和删除操作可以 反映,但对其他用户添加的记录无法反映。 adLockOptimistic是一种锁类型,是防止操作冲突的。 adLockOptimistic锁为乐观锁,在更新数据时将锁定记录,不 给其他用户操作DIM SQLstring as String SQLstring= “ SELECT * FROM S WHERE SEX=男“Dim rs As ADODB.

8、Recordset Set rs=New ADODB.Recordset rs.Open SQLstring,CurrentProject.Connection, adOpenKeyset,adLockOptimistic 该表格存进变量 rs里面该表格存进变量 rs里面问题1:该表格有多少条记录?rs.RecordCount问题2:读取第1条记录的姓名字段的值rs.MoveFirstrs(“SN“)问题3:读取第3条记录的密码字段的值;rs.MoveFirstrs.MoveNextrs.MoveNextrs(“PASSWORD“)(1)打开窗体时,焦点落在“用户名”文本框Private Su

9、b Form_Open(Cancel As Integer) Me!用户名文本框.SetFocus End Sub(2)单击“登录”按钮后,处理的事件有: 判断是否输入学号或教师号,若没有,给出提示; 判断是否输入密码,若没有,给出提示; 判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若 正确,进入系统。判断是否输入学号或教师号,若没有,给出提示Private Sub 登录_Click() If IsNull(Me!用户名文本框) Then If MsgBox(“您没有输入用户名“, vbOKOnly, “请确定 “) = vbOK Then

10、Me!用户名文本框.SetFocus Exit Sub End If End If判断是否输入密码,若没有,给出提示;If IsNull(Me!密码文本框) Then If MsgBox(“您没有输入密码!“, vbOKOnly, “请确 定!“) = vbOK Then Me!密码文本框.SetFocus Exit Sub End If End If判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若正 确,进入系统。Dim rs As ADODB.RecordSet Set rs=New ADODB.RecordSet Dim SQLStrin

11、g As String判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若正 确,进入系统。 Select Case Me!用户类型组合框 Case “学生“ SQLString=“Select * from S where sno=”+Me! 用户名文本框+“ rs.Open SQLString,CurrentProject.Connection,adOpen Keyset,adLockOptimistic判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若正 确,进入系统。If rs.RecordC

12、ount=0 Then If MsgBox(“用户名不存在或选择类型错误 “,VbOKOnly,“请确定”)=vbOK Then Me!用户名文本框.SetFocus Exit Sub End If End If判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若正 确,进入系统。rs.MoveFirst If StrComp(rs(“password”),Me!密码文本框 ,vbBinaryCompare)0 Then If MsgBox(“密码错误“,vbOKOnly, “请确定 “)=vbOK then Me!密码文本框.SetFocus E

13、xit Sub End If End If判断学号或教师号是否存在,若不存在给出提示;若存 在,继续判断密码是否正确,若不正确,给出提示;若正 确,进入系统。DoCmd.OpenForm “教师主窗体“ DoCmd.Close acForm, “登录“ End Select End Sub(3)按下退出按钮时,关闭系统Private Sub 退出_Click() If MsgBox(“你确定需要退出教学管理系统吗“, vbOKCancel, “请确定“) = vbOK Then DoCmd.Quit End Sub7.2 “学生主窗体”设计“打开窗体”时,判断用户是否登录,若没有登录,则关闭当

14、前窗体,打开 “登录”窗体;若用户已经登录,则显示欢迎登录者的信息。单击“查询选课”按钮,则打开“学生查询选课”窗体,关闭“学生主窗体 ”窗体单击“选课”按钮,判断学生选课数是否达到最大数目4门,若是,弹出对话 框提示,否则打开“学生选课”窗体,关闭“学生主窗体”窗体。(1)演示与分析窗体标签按钮标签按钮单击“删除选课”按钮,则判断学生选课数量是否为0,若为0,则弹出对话框提示 ,否则打开“学生删除选课”窗体,关闭“学生主窗体”窗体。单击“修改密码”按钮,则打开“学生修改密码”窗体,关闭“学生主窗体”窗体 。单击“返回登录界面”按钮,则关闭当前窗体,打开“登录”窗体。(1)演示与分析 按钮按钮

15、按钮(2)界面设计窗体标签按钮按钮标签按钮按钮按钮招兵买马(添加控件)窗体标签按钮按钮标签按钮按钮按钮认识新员工,起绰号(给控件命名)学生主 窗体请选择 操作标 签查询选 课按钮返回登录 界面按钮欢迎 标签选课 按钮删除选 课按钮按钮员工培训(控件设置)1)培训窗体 取消滚动条 取消最大最小化按钮 取消分割线 取消导航按钮 取消记录选择器 添加背景图片以美化界面(嵌入、拉伸、窗体中心)(3)创建其他相关窗体(4)功能实现关键代码介绍(1) 全局变量 全局变量的意义全局变量在整个ACCESS系统中都可以使用,其赋 值一直有效。定义全局变量的方法 Public username As String

16、 Public usersno As String全局变量写在什么位置?定义在模块中。(2)Set rs=nothing 释放rs变量所占用的存储空间。(3)Me!欢迎标签.caption = “欢迎您!“ 将名字为“欢迎标签”的标签控件的显示的内容修改 为“欢迎您!”(3)Trim(rs(“sn“ ) 去掉变量rs(“sn” ) 的空格。“打开窗体”时,判断用户是否登录,若没有登录 ,则关闭当前窗体,打开登录窗体,若用户已经登录 ,则显示欢迎登录者的信息。难点:怎样判断用户是否登录?设置全局变量,该全局变量在用户登录成功后赋 值,若该值不为空,表示用户已经登录,若该值为空 ,表示用户没有登录。定义1个全局变量username,用以保存用户姓名。在登录成功时,读出用户的姓名,并赋给全局变 量username。问题:第2步操作的代码应该写在什么位置?rs.MoveFirst If StrComp(rs(“password“), Me!密码

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号