第2章 学生基本信息管理系统的开发Word文件下载.docx

上传人:b****6 文档编号:18805837 上传时间:2023-01-01 格式:DOCX 页数:12 大小:167.07KB
下载 相关 举报
第2章 学生基本信息管理系统的开发Word文件下载.docx_第1页
第1页 / 共12页
第2章 学生基本信息管理系统的开发Word文件下载.docx_第2页
第2页 / 共12页
第2章 学生基本信息管理系统的开发Word文件下载.docx_第3页
第3页 / 共12页
第2章 学生基本信息管理系统的开发Word文件下载.docx_第4页
第4页 / 共12页
第2章 学生基本信息管理系统的开发Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第2章 学生基本信息管理系统的开发Word文件下载.docx

《第2章 学生基本信息管理系统的开发Word文件下载.docx》由会员分享,可在线阅读,更多相关《第2章 学生基本信息管理系统的开发Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

第2章 学生基本信息管理系统的开发Word文件下载.docx

rst.CursorType=adOpenKeyset

rst.Opensql

Setexesql=rst

Setrst=Nothing

Setconn=Nothing

EndFunction

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

2.2.2数据库的设计

物理数据库名:

student

ODBC数据源名:

字段名

主键

数据类型

长度

必填

默认值

CHECK约束

说明

Sno

char

8

学号

Sname

5

姓名

Ssex

2

性别

Sbirthday

datetime

[1/1/1949

1/1/2010]

出生

日期

Sdept

20

信科系

系科

Sgrade

int

4

[1,4]

年级

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

username

用户名

password

密码

jibie

1

等级

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

2.3效果和关键实现

2.3.1登陆模块(窗体名:

login)

图2-2登陆界面(窗体名:

关键技术:

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

ActiveX 

Data 

Objects 

2.5 

Library。

2、登陆错误次数限制3次不允许用户无止尽尝试密码,一旦错误超过三次程序自动结束,在窗体通用部分首先定义窗体级变量TIM,,核心程序如下:

'

验证操作员及密码

DimsqlAsString

sql="

select*fromyonghuwhereusername='

"

+Combo1.Text+"

andpassword='

+Text2.Text+"

Setrs=exesql(sql)

Ifrs.RecordCount>

0Then

Loadmain

main.Show

username=Combo1

UnloadMe

ElseIfTIM=3Then'

密码输错3次,退出系统

myval=MsgBox("

密码输入错误,请向系统管理员查询!

0,"

Ifmyval=vbOKThenEnd

Else

MsgBox"

输入错误,你还有"

&

3-TIM&

"

次机会"

TIM=TIM+1

EndIf

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

PrivateSubtext2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)

IfKeyCode=vbKeyReturnThenCmdOk.SetFocus'

按回车键CmdOk获得焦点

IfKeyCode=vbKeyUpThenCombo1.SetFocus

IfKeyCode=vbKeyDownThenCmdOk.SetFocus

EndSub

4、密码框中输入任何字符以制定字符显示(例“*”),应设置其passwordchar属性的值即可。

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

main)

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

1、采用adodc和datagrid显示数据。

操作步骤:

(1)选中工程-部件

(2)Adodc控件完成与各类数据库的连接(连接ODBC数据源student),可执行sql命令(select*froms)。

(3)datagrid控件完成数据的显示(指定其DataSource为Adodc控件)。

2、记录移动技术

首条:

Adodc1.Recordset.MoveFirst

未条:

Adodc1.Recordset.MoveLast

上一条(注意应判断是否已移到最前,如果不判断移到第1条记录后再往前移动,程序就出错),关键代码如下:

IfNotAdodc1.Recordset.BOFThen

Adodc1.Recordset.MovePrevious

EndIf

下一条(注意应判断是否已移到最后,如果不判断移到第后条记录后再往后移动,程序就出错),关键代码如下:

IfNotAdodc1.Recordset.EOFThen

Adodc1.Recordset.MoveNext

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

IfAdodc1.Recordset.RecordCount<

>

Dimsss

sss=Trim(Adodc1.Recordset.Fields("

sno"

))

IfMsgBox("

真的要删除["

+sss+"

]吗?

vbYesNo,"

系统友情提示"

)=vbYesThen

Adodc1.Recordset.Delete

4、查询技术:

在这里强调标准SQL语句的语法问题,对于字符数据匹配,要加单引号,而对于数值型字段不需要加,例如SNO(char)与text1是否匹配的sql语句为:

”select*fromswheresno=’”&

text1&

”’”,例如Sgrade(int)与text1是否匹配的sql语句为”select*fromswhereSgrade=”&

text1

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

DimtsqltAsString

sqlt="

selectcount(*)as总人数fromswhere"

Combo1.Text&

Combo2.Text&

Text1&

Setrs=exesql(sqlt)'

调用执行SQL函数,已经在模块中添加

Text2.Text=rs("

总人数"

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

增加全局变量PublicFlagAsInteger,Flag=0'

增加记录,Flag=1'

修改记录

IfFlag=1Then

Calledit‘调用编辑过程

Else

Calladd‘调用增加过程

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

Subadd()'

注意也可以直接使用insert语句

DimsqlAsString

select*fromswheresno='

Text1.Text&

IfText1.Text="

OrText2.Text="

Then

MsgBox"

学号姓名不能空"

ExitSub

IfDTPicker1.Value>

#1/1/2010#OrDTPicker1.Value<

#1/1/1949#Then

出生日期不合法(1949-1-1~2010-1-1)!

Ifrs.RecordCount=0Then

rs.AddNew

rs("

)=Text1

Sname"

)=Text2

IfOption1.Value=TrueThen

Ssex"

)="

男"

女"

Sbirthday"

)=DTPicker1.Value

Sdept"

)=Text3

Sgrade"

)=CInt(Combo1.Text)

rs.UPDATE

增加记录成功"

学号重复无法添加!

EndSub

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

PrivateSubForm_Load()

Combo1.AddItem"

1"

2"

3"

4"

IfFlag=1Then'

修改数据,首先加载该条数据FLAG全局变量。

Text1=main.Adodc1.Recordset.Fields("

Text1.Enabled=False'

学号无法更改

Text2=main.Adodc1.Recordset.Fields("

sname"

Ifmain.Adodc1.Recordset.Fields("

ssex"

Option1.Value=True

Option2.Value=True

DTPicker1.Value=main.Adodc1.Recordset.Fields("

sbirthday"

Text3=main.Adodc1.Recordset.Fields("

sdept"

Combo1.Text=main.Adodc1.Recordset.Fields("

sgrade"

具体编辑过程如下:

Subedit()'

注意也可以直接使用update语句

rs("

增加更新成功"

6,权限限制技术:

PrivateSubForm_Activate()

权限判断

1级权限所有权限

等级2:

拥有数据查询,增加权限

等级3:

拥有数据查询

username&

Ifrs("

jibie"

)=2Then

Command3.Enabled=False

Command4.Enabled=False

ElseIfrs("

)=3Then

Command5.Enabled=False

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

PrivateSubDataReport_Initialize()

Setrs1=exesql(sqltext)

SetDataReport1.DataSource=rs1'

设置DataReport的数据源

DataReport1.Sections("

Section1"

).Controls("

text1"

).DataField="

’字段名

text2"

text3"

text4"

DataReport1.Refresh

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

update)

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

update)

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

update

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

datareport1)

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

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

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

quanxian)

2.4本实例小结

本章通过一个简单完整的应用程序开发实例,介绍了数据库应用系统开发中常用的一些技术,适合C级学生完成,涵盖了SQL的使用,常用控件的使用,报表的使用,我们在开发过程中,应充分考虑到到用户的需要,尽量的方便用户使用,例如,在这个例子中支持了键盘操作。

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

第3章医院体检结论查询打印系统(C级)

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

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1