学生基本信息管理系统的开发.docx

上传人:b****6 文档编号:15729612 上传时间:2023-07-07 格式:DOCX 页数:16 大小:236.90KB
下载 相关 举报
学生基本信息管理系统的开发.docx_第1页
第1页 / 共16页
学生基本信息管理系统的开发.docx_第2页
第2页 / 共16页
学生基本信息管理系统的开发.docx_第3页
第3页 / 共16页
学生基本信息管理系统的开发.docx_第4页
第4页 / 共16页
学生基本信息管理系统的开发.docx_第5页
第5页 / 共16页
学生基本信息管理系统的开发.docx_第6页
第6页 / 共16页
学生基本信息管理系统的开发.docx_第7页
第7页 / 共16页
学生基本信息管理系统的开发.docx_第8页
第8页 / 共16页
学生基本信息管理系统的开发.docx_第9页
第9页 / 共16页
学生基本信息管理系统的开发.docx_第10页
第10页 / 共16页
学生基本信息管理系统的开发.docx_第11页
第11页 / 共16页
学生基本信息管理系统的开发.docx_第12页
第12页 / 共16页
学生基本信息管理系统的开发.docx_第13页
第13页 / 共16页
学生基本信息管理系统的开发.docx_第14页
第14页 / 共16页
学生基本信息管理系统的开发.docx_第15页
第15页 / 共16页
学生基本信息管理系统的开发.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生基本信息管理系统的开发.docx

《学生基本信息管理系统的开发.docx》由会员分享,可在线阅读,更多相关《学生基本信息管理系统的开发.docx(16页珍藏版)》请在冰点文库上搜索。

学生基本信息管理系统的开发.docx

学生基本信息管理系统的开发

第2章学生基本信息管理系统地开发

2.1工程概述

2.1.1工程主要功能

工程主要功能包含:

<1)学生信息管理模块:

该模块具体功能是学生基本基本信息地添

加、信息修改、删除和查询,排序统计;

(2)权限管理模块:

该模块主要负责管理用户地信

息,区分不同级别地用户,可提高系统安全性;<3)统计及报表;<4)数据管理四个部分.其

操作流程如下所示:

b5E2RGbCAP

2.1.2程序文件结构

□至口

-JFflinis

H

口vrm-.E;

Haurxian(cianx^.H;卸JJCSIE(UPDiTLin)-jMaduks

盘Modulel(Nodutel-tHSl

F■SDsigriefs

RDatfRssDnl

图2-1程序文件结构

2.2全局变量和数据库设计

2.2.1定义全局变量

全局变量地定义:

PublicFlagAsInteger

PublicusernameAsString

这两个变量用来存放登陆用户名和相应等级,定义在标准模块Modulel.BAS中.

公有函数<可执行SQL语句,返回记录集)地定义:

PublicFunctionexesql(ByValsqlAsString>AsADODB.Recordsetp1EanqFDPw

sql=Trim$(sql>

Setconn=NewADODB.Connection

Setrst=NewADODB.Recordset

conn.ConnectionString="dsn=student"'ODB(数据源名

conn.Open

Setrst.ActiveConnection=conn

rst.LockType=adLockOptimistic

rst.CursorType=adOpenKeyset

rst.Opensql

Setexesql=rst

Setrst=Nothing

Setconn=Nothing

EndFunction

公有函数亦定义在标准模块Modulel.BAS中.

2.2.2数据库地设计

物理数据库名:

student

ODBC数据源名:

student

字段名

主键

数据类型

长度

必填

默认值

CHECK勺束

说明

Sno

char

8

V

学号

Sname

char

5

V

姓名

Ssex

char

2

V

性别

Sbirthday

datetime

8

[1/1/1949

1/1/2018]

出生

日期

Sdept

char

20

信科系

系科

Sgrade

int

4

[1,4]

年级

2.2.1S表<学生基本信息表)

字段名

主键

数据类型

长度

必填

默认值

CHECK

约束

说明

username

char

8

V

用户名

password

char

5

V

密码

jibie

int

2

V

1

等级

2.2.2yonghu表<学生基本信息表)

2.3效果和关键实现

2.3.1登陆模块(窗体名:

login>

 

关键技术:

1、操作数据库地专用函数exesql也应添加到标准模块Modulel.BAS中并在VB在VB工程-

—引用中添力口

MicrosoftActiveXDataObjects2.5Library.DXDiTa9E3d

2、登陆错误次数限制3次不允许用户无止尽尝试密码,一旦错误超过三次程序自动结束,在

窗体通用部分首先定义窗体级变量TIM,,核心程序如下:

RTCrpUDGiT

'验证操作员及密码

DimsqlAsString

sql="select*fromyonghuwhereusername="'+Combo1.Text+"'and

5PCzVD7HxA

password^"+Text2.Text+""'

Setrs=exesql(sql>

Ifrs.RecordCount>0Then

Loadmain

main.Show

username=Combol

UnloadMe

ElselfTIM=3Then'密码输错3次,退出系统

myval=MsgBox("密码输入错误,请向系统管理员查询!

",0,"">

Ifmyval=vbOKThenEnd

Else

MsgBox"输入错误,你还有”&3-TIM&”次机会”

TIM=TIM+1

EndIf

3、支持键盘操作,例TEXT2文本框中支持方向键代码如下:

PrivateSubtext2_KeyDown(KeyCodeAsInteger,ShiftAsInteger>jLBHrnAILg

IfKeyCode=vbKeyReturnThenCmdOk.SetFocus'按回车键CmdOk获得焦点

xHAQX74J0X

IfKeyCode=vbKeyUpThenCombo1.SetFocus

IfKeyCode=vbKeyDownThenCmdOk.SetFocus

EndSub

4、密码框中输入任何字符以制定字符显示<例"*”),应设置其passwordchar属性地值即

可.

2.3.2学生信息管理模块(窗体名:

main>

图2-3学生信息管理界面(窗体名:

main>关键技术:

1采用adodc和datagrid显示数据.

操作步骤:

<1)选中工程-部件

7MicrosoftADODataControl60(OLEDB1

HicrosoftDataGr1dControl6.0(OLEDB^l

(2>Adodc控件完成与各类数据库地连接(连接ODBC数据源student>,可执行

(select*froms>.LDAYtRyKfE

(3>datagrid控件完成数据地显示(指定其DataSource为Adodc控件>.

2、记录移动技术

首条:

Adodcl.Recordset.MoveFirst

未条:

Adodcl.Recordset.MoveLast

上一条<注意应判断是否已移到最前,如果不判断移到第1条记录后再往前移动

错),关键代码如下:

IfNotAdodc1.Recordset.BOFThen

Adodcl.Recordset.MovePrevious

EndIf

下一条<注意应判断是否已移到最后,如果不判断移到第后条记录后再往后移动

错),关键代码如下:

sql命令

程序就出

程序就出

IfNotAdodc1.Recordset.EOFThen

AdodcI.Recordset.MoveNext

EndIf

3、数据删除技术<应判断是否存在记录,否则不存在记录作删除操作程序报错)关键代码如

下:

IfAdodcI.Recordset.RecordCount<>0Then

Dimsss

sss=Trim(Adodc1.Recordset.Fields("sno">>

IfMsgBox("真地要删除["+sss+"]吗?

",vbYesNo,"系统友情提示">=vbYes

ThenZzz6ZB2Ltk

Adodc1.Recordset.Delete

EndIf

EndIf

4、查询技术:

在这里强调标准SQL语句地语法问题,对于字符数据匹配,要加单引号,而对于数值型字段不

需要加,例如SNO(char>与text1是否匹配地sql语句为:

”select*fromswhere

sno='”&text1&”’”,例如Sgrade(int>与textl是否匹配地sql语句为”select

*fromswhereSgrade=”&text1dvzfvkwMIi

5、聚集函数地使用(可以给聚集函数起别名>,使用方法如下:

DimtsqltAsString

sqlt="selectcount(*>as总人数fromswhere"&Combol.Text&Combo2.Text&

"”'&Textl&rqyn14ZNXI

Setrs=exesql(sqlt>'调用执行SQL函数,已经在模块中添加

Text2.Text=rs("总人数”〉

5、增加修改技术<共用界面update)

增加全局变量PublicFlagAsInteger,Flag=0'增加记录,Flag=1'修改记录

EmxvxOtOco

IfFlag=1Then

Calledit'调用编辑过程

Else

Calladd'调用增加过程

EndIf

增加记录时,程序中应考虑主键,空值,check等约束,因此程序中必须增加容错判断,代码如

下:

Subadd(>'注意也可以直接使用insert语句

DimsqlAsString

sql="select*fromswheresno="'&Text1.Text&""'SixE2yXPq5

Setrs=exesql(sql>

IfText1.Text=""OrText2.Text=""Then

MsgBox"学号姓名不能空”

ExitSub

EndIf

IfDTPicker1.Value>#1/1/2018#OrDTPicker1.Value<#1/1/1949#Then6ewMyirQFL

MsgBox"出生日期不合法<1949-1-1~2018-1-1)!

"

ExitSub

EndIf

Ifrs.RecordCount=0Then

rs.AddNew

rs("sno">=Text1

rs("Sname"〉=Text2

IfOption1.Value=TrueThen

rs("Ssex">="男”

Else

rs("Ssex">="女”

EndIf

rs("Sbirthday">=DTPicker1.Value

rs("Sdept">=Text3

rs("Sgrade">=CInt(Combo1.Text>

rs.UPDATE

MsgBox"增加记录成功”

Else

MsgBox"学号重复无法添加!

EndIf

EndSub

2、编辑记录时,首先加载被编辑地数据到各控件,因此在窗体地相应事件中添加:

PrivateSubForm_Load(>

Combol.Addltem"1"

Combo1.Addltem"2"

Combo1.AddItem"3"

Combo1.AddItem"4"

IfFlag=1Then'修改数据,首先加载该条数据FLAG全局变量.

Text1=main.Adodc1.Recordset.Fields("sno">

Text1.Enabled=False'学号无法更改

Text2=main.Adodc1.Recordset.Fields("sname"〉

Ifmain.Adodc1.Recordset.Fields("ssex">="男"Then

Optionl.Value=True

Else

Option2.Value=True

EndIf

DTPickerl.Value=main.Adodc1.Recordset.Fields("sbirthday">kavU42VRUs

Text3=main.Adodc1.Recordset.Fields("sdept">

Combol.Text=main.Adodc1.Recordset.Fields("sgrade">y6v3ALoS89

EndIf

EndSub

具体编辑过程如下:

Subedit(>'注意也可以直接使用update语句

DimsqlAsString

sql="select*fromswheresno="'&Textl.Text&""'M2ub6vSTnP

Setrs=exesql(sql>

IfTextl.Text=""OrText2.Text=""Then

MsgBox"学号姓名不能空”

ExitSub

EndIf

IfDTPickerl.Value>#1/1/2018#OrDTPickerl.Value<#1/1/1949#Then

MsgBox"出生日期不合法<1949-1-1~2018-1-1)!

"

ExitSub

EndIf

rs("Sname"〉=Text2

IfOption1.Value=TrueThen

rs("Ssex">="男”

Else

rs("Ssex">="女”

EndIf

rs("Sbirthday">=DTPickerl.Value

rs("Sdept">=Text3

rs("Sgrade">=CInt(Combo1.Text>

rs.UPDATE

MsgBox"增加更新成功”

EndSub

6,权限限制技术:

PrivateSubForm_Activate(>

'权限判断

'1级权限所有权限

'等级2:

拥有数据查询,增加权限

'等级3:

拥有数据查询

DimsqlAsString

sql="select*fromyonghuwhereusername="'&username&""'

Setrs=exesql(sql>

Ifrs("jibie">=2Then

Command3.Enabled=False

OYujCfmUCw

eUts8ZQVRd

Command4.Enabled=False

Elselfrs("jibie">=3Then

Command3.Enabled=False

Command4.Enabled=False

Command5.Enabled=False

EndIf

EndSub

7,报表打印技术(在报表中添加相应控件>:

PrivateSubDataReport」nitialize(>

Setrs1=exesql(sqltext>

'字段名

TlrRGchYzg

7EqZcWLZNX

SetDataReportl.DataSource=rs1'设置DataReport地数据源sQsAEJkW5T

DataReportl.Sections("Section1">.Controls("text1">.DataField="sno

GMslasNXkA

DataReportl.Sections("Section1">.Controls("text2">.DataField="sname"

DataReportl.Sections("Section1">.Controls("text3">.DataField="ssex"

DataReportl.Sections("Section1">.Controls("text4">.DataField"sbirthday"izq7iGfO2E

DataReportl.Refresh

EndSub

2.3.3增加、修改学生信息模块(窗体名:

update>

图2-4增加学生信息界面(窗体名:

update〉

图2-5修改学生信息界面窗体名:

update

2.3.4查询打印报表模块(窗体名:

datareport1>

学'上fri上I、

T■

1*电1

4&

肚用•

WAC■V■

1life#!

1r■

X.•

HM1

■■■JVi

M-E■

OBJt*W•

lif^T.I.1

图2-6查询打印报表界面(datareport1>

2.3.5权限管理模块(窗体名:

datareport1>

图2-7权限管理界面(窗体名:

quanxian>

2.4本实例小结

本章通过一个简单完整地应用程序开发实例,介绍了数据库应用系统开发中常用地一些

技术,适合C级学生完成,涵盖了SQL地使用,常用控件地使用,报表地使用,我们在开发过程中,应充分考虑到到用户地需要,尽量地方便用户使用,例如,在这个例子中支持了键盘操作.当

然本系统只是一个示例,在信息表述上不够完备,通用性不强,比如权限设置不够灵活,一些模块信息不够详细,读者可以根据实际情况来完善我们地例子,把它做得更加人性化,智能化,通

用化.zvpgeqJ1hk

第3章医院体检结论查询打印系统

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2