*——精确比较
SET EXACT ON
*——判断是否输入了用户名
IF ALLTRIM(THISFORM.TextUse.VALUE)==""
MESSAGEBOX("请输入用户名",48,"学生档案管理系统")
THISFORM.TextUse.SetFocus
Return
ENDIF
*——获取输入的信息
USER_N=ALLTRIM(THISFORM.TextUse.VALUE)
USER_P=ALLTRIM(THISFORM.Textpass.VALUE)
*——定义逻辑变量is_user,用于判断是否为合法用户
LOCAL Is_User
Is_User=.F.
*——遍历用表中中所有的记录
*——判断输入的用户名称和用户密码是否存在
SELECT use_dl
GO TOP
DO WHILE .NOT. EOF()
*——寻找与输入的用户名和密码匹配的记录
Is_User=(USER_N=use_dl.用户名).AND.(USER_P=use_dl.密码)
*——如果找到
IF IS_USER
EXIT
ELSE
SKIP
ENDIF
ENDDO
*——如果正确
IF IS_USER
*——保存登录用户
cCurUser=ALLTRIM(THISFORM.TextUse.Value)
*——调用界面
DO FORM student_cx
*——退出当前表单
THISFORM.RELEASE
*——如果登录不正确
ELSE
MESSAGEBOX("用户名或用户密码不正确!",0+16,"学生档案管理系统")
THISFORM.TextUse.Value=""
THISFORM.Textpass.Value=""
THISFORM.TextUse.SetFocus
ENDIF
*——模糊比较
SET EXACT OFF
退出按钮的代码:
*——声明本地变量
LOCAL YN
*——确认对话框
YN=MESSAGEBOX("确定退出",4+32,"学生档案管理系统")
*——如果确认
IF YN=6
THISFORM.RELEASE &&退出当前表单
CLEAR EVENTS &&结束事务处理
ENDIF
●管理员登录
进入 按钮的代码:
*——精确比较
SET EXACT ON
*——判断是否输入了用户名
IF ALLTRIM(THISFORM.TextUse.VALUE)==""
MESSAGEBOX("请输入用户名",48,"学生档案管理系统")
THISFORM.TextUse.SetFocus
Return
ENDIF
*——获取输入的信息
USER_N=ALLTRIM(THISFORM.TextUse.VALUE)
USER_P=ALLTRIM(THISFORM.TextPass.VALUE)
*——定义逻辑变量is_user,用于判断是否为合法用户
LOCAL Is_User
Is_User=.F.
*——遍历用表中中所有的记录
*——判断输入的用户名称和用户密码是否存在
SELECT use_gdl
GO TOP
DO WHILE .NOT. EOF()
*——寻找与输入的用户名和密码匹配的记录
Is_User=(USER_N=use_gdl.用户名).AND.(USER_P=use_gdl.密码)
*——如果找到
IF IS_USER
EXIT
ELSE
SKIP
ENDIF
ENDDO
*——如果正确
IF IS_USER
*——保存登录用户
cCurUser=ALLTRIM(THISFORM.TextUse.Value)
*——调用界面
DO FORM student_gcx
*——退出当前表单
THISFORM.RELEASE
*——如果登录不正确
ELSE
MESSAGEBOX("用户名或用户密码不正确!",0+16,"学生档案管理系统")
THISFORM.TextUse.Value=""
THISFORM.TextPass.Value=""
THISFORM.TextUse.SetFocus
ENDIF
*——模糊比较
SET EXACT OFF
退出 按钮的代码:
*——声明本地变量
LOCAL YN
*——确认对话框
YN=MESSAGEBOX("确定退出",4+32,"学生档案管理系统")
*——如果确认
IF YN=6
THISFORM.RELEASE &&退出当前表单
CLEAR EVENTS &&结束事务处理
ENDIF
8.3.2学生基本信息管理模块
学生基本信息管理模块主要实现以下功能:
● 添加 学生基本信息
主要代码:
*--选择"学生基本信息"表所在的工作区
SELECT student_jbxx
*--保存记录号
THISFORM.OldRecord=RECNO()
*--数据表末尾新增记录
APPEND BLANK
*--表单进入修改状态
THISFORM.bModify=.T.
THISFORM.bBrowse=.T.
*--刷新表单
THISFORM.Refresh
● 修改 学生基本信息
主要代码:
*--选择"资料信息"表所在的工作区
SELECT student_jbxx
*--保存记录指针位置
THISFORM.OldRecord=RECNO()
*--表单进入修改状态
THISFORM.bModify=.T.
THISFORM.bBrowse=.T.
THISFORM.ModeControl
THISFORM.Refresh
*——如果是作为“保存”按钮时
IF THIS.CAPTION="保存"
*——如果学号为空
IF EMPTY(ALLTRIM(THISFORM.text1.Value))
MESSAGEBOX("学号不能为空",48,"学生档案管理系统")
THISFORM.text1.SetFocus
Return
ENDIF
*——如果姓名为空
IF EMPTY(ALLTRIM(THISFORM.text2.Value))
MESSAGEBOX("姓名不能为空",48,"学生档案管理系统")
THISFORM.text2.SetFocus
Return
ENDIF
*——如果班级为空
IF EMPTY(ALLTRIM(THISFORM.text3.Value))
MESSAGEBOX("班级不能为空",48,"学生档案管理系统")
THISFORM.text3.SetFocus
Return
ENDIF
*——如果专业为空
IF EMPTY(ALLTRIM(THISFORM.text5.Value))
MESSAGEBOX("专业不能为空",48,"学生档案管理系统")
THISFORM.text5.SetFocus
Return
ENDIF
*——如果出生日期为空
IF EMPTY(ALLTRIM(THISFORM.text4.Value))
MESSAGEBOX("出生日期不能为空",48,"学生档案管理系统")
THISFORM.text4.SetFocus
Return
ENDIF
*——如果班职务级为空
IF EMPTY(ALLTRIM(THISFORM.text8.Value))
MESSAGEBOX("班职务级不能为空",48,"学生档案管理系统")
THISFORM.text8.SetFocus
Return
ENDIF
*——确认对话框
YN=MESSAGEBOX("确认保存",4+32,"学生档案管理系统")
*——如果确认
IF YN=6
*——试图保存
IF TABLEUPDATE(.F.)=.F.
*——如果保存失败
MESSAGEBOX("学号错误",48,"学生档案管理系统")
THISFORM.text3.SetFocus
Return
ENDIF
*——表单进入“浏览”状态
THISFORM.bModify=.F.
THISFORM.bBrowse=.F.
THISFORM.Refresh
ENDIF
ENDIF
● 查询 学生基本信息
主要代码:按学号查询
LOCAL SelTJ
*——查询条件默认为“.T.”
SelTJ=".T."
*——如果search1文本框中的值非空
IF .NOT. EMPTY(ALLTRIM(THISFORM.text7.Value))
SelTJ=SelTJ + " AND '" + ALLTRIM(THISFORM.text7.Value) + "' $学号"
ENDIF
*——选择“资料信息”表所在工作区
SELECT student_jbxx
*——清除可能存在的过滤条件
SET FILTER TO
*——设置过滤条件
SET FILTER TO &SelTJ
*——
GO TOP
*——刷新表单
THISFORM.Refresh
● 删除 学生基本信息
主要代码:
*——如果按钮标题为“恢复“
IF THIS.CAPTION="恢复"
*——确认对话框
YN=MESSAGEBOX("确认取消对记录的修改",4+32,"学生档案管理系统")
*——如果确认
IF YN=6
*——恢复记录
TABLEREVERT(.F.)
SELECT student_jbxx
*——移动记录指地
IF THISFORM.oldRecord>0
GO THISFORM.oldRecord
ENDIF
*——回到“浏览”状态
THISFORM.bModify=.F.
THISFORM.bBrowse=.F.
THISFORM.Refresh
ENDIF
Return
ENDIF
*——如果按钮标题为“删除”
IF THIS.CAPTION="删除"
*——确认对话框
YN=MESSAGEBOX("确认删除",4+32,"学生档案管理系统")
*——如果确认
IF YN=6
*——删除记录
SELECT student_jbxx
DELET
PACK
ENDIF
ENDIF
● 退出表单
THISFORM.RELEASE
8.3.3学生成绩信息管理模块
学生成绩信息管理模块主要实现以下功能:
● 添加 学生成绩信息
*--选择"学生基本信息"表所在的工作区
SELECT student_cjxx
*--保存记录号
THISFORM.OldRecord=RECNO()
*--数据表末尾新增记录
APPEND BLANK
*--表单进入修改状态
THISFORM.bModify=.T.
THISFORM.bBrowse=.T.
*--刷新表单
THISFORM.Refresh
● 修改 学生成绩信息
*--选择"资料信息"表所在的工作区
SELECT student_cjxx.dbf
*--保存记录指针位置
THISFORM.OldRecord=RECNO()
*--表单进入修改状态
THISFORM.bModify=.T.
THISFORM.bBrowse=.T.
THISFORM.ModeControl
THISFORM.Refresh
*——如果是作为“保存”按钮时
IF THIS.CAPTION="保存"
*——如果学号为空
IF EMPTY(ALLTRIM(THISFORM.text3.Value))
MESSAGEBOX("学号不能为空",48,"学生档案管理系统")
THISFORM.text3.SetFocus
Return
ENDIF
*——如果姓名为空
IF EMPTY(ALLTRIM(THISFORM.text4.Value))
MESSAGEBOX("姓名不能为空",48,"学生档案管理系统")
THISFORM.text4.SetFocus
Return
ENDIF
*——如果班级为空
IF EMPTY(ALLTRIM(THISFORM.text5.Value))
MESSAGEBOX("班级不能为空",48,"学生档案管理系统")
THISFORM.text5.SetFocus
Return
ENDIF
*——如果专业为空
IF EMPTY(ALLTRIM(THISFORM.text6.Value))
MESSAGEBOX("专业不能为空",48,"学生档案管理系统")
THISFORM.text6.SetFocus
Return
ENDIF
*——如果数据库原理为空
IF EMPTY(ALLTRIM(THISFORM.text7.Value))
MESSAGEBOX("数据库原理不能为空",48,"学生档案管理系统")
THISFORM.text7.SetFocus
Return
ENDIF
*——如果计算机基础为空
IF EMPTY(ALLTRIM(THISFORM.text8.Value))
MESSAGEBOX("计算机基础不能为空",48,"学生档案管理系统")
THISFORM.text8.SetFocus
Return
ENDIF
*——如果高等数学为空
IF EMPTY(ALLTRIM(THISFORM.text9.Value))
MESSAGEBOX("高等数学不能为空",48,"学生档案管理系统")
THISFORM.text9.SetFocus
Return
ENDIF
*——如果大学英语为空
IF EMPTY(ALLTRIM(THISFORM.text10.Value))
MESSAGEBOX("大学英语不能为空",48,"学生档案管理系统")
THISFORM.text10.SetFocus
Return