学生信息管理系统(20211124094920)_第1页
学生信息管理系统(20211124094920)_第2页
学生信息管理系统(20211124094920)_第3页
学生信息管理系统(20211124094920)_第4页
学生信息管理系统(20211124094920)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、156 学生信息管理系统1数据库结构的实现1)创建系统用户表格user_info create table dbo.user_info ( user_id char (10) collate chinese_prc_ci_as not null, user_pwd char (10) collate chinese_prc_ci_as null , user_des varchar (200) collate chinese_prc_ci_as null , ) on primary 2)创建学生基本信息表student_info create table dbo. student_info

2、( student_id varchar(10) collate chinese_prc_ci_as not null, student_name varcharchar (10) collate chinese_prc_ci_as null , student_sex char (2) collate chinese_prc_ci_as null , born_date datetime collate chinese_prc_ci_as null , classname varchar (100) collate chinese_prc_ci_as null , telephone cha

3、r (20) collate chinese_prc_ci_as null , enroll_date datetime collate chinese_prc_ci_as null , address varchar (50) collate chinese_prc_ci_as null , comment varchar (200) collate chinese_prc_ci_as null , ) on primary 3)创建课程基本信息表course_info create table dbo.course_info ( course_no varchar(10) collate

4、chinese_prc_ci_as not null, course_name char (20) collate chinese_prc_ci_as null , course_type char (20) collate chinese_prc_ci_as null , course_credit int collate chinese_prc_ci_as null , course_des varchar (200) collate chinese_prc_ci_as null , ) on primary 4)创建选课成绩信息表student_course_info create ta

5、ble dbo.student_course_info ( student_id varchar(10) collate chinese_prc_ci_as not null , course_no varchar(10) collate chinese_prc_ci_as not null , score int collate chinese_prc_ci_as null , ) on primary 2学生信息管理系统主窗体的创建1)创建工程项目student_mis 2)创建学生信息管理系统主窗体3)创建公用模块在“工程资源管理器”中添加一个module ,保存为 module1.ba

6、s,其程序如下:public username_ok as string 记录登录用户名 定义连接字符串函数public function connectstring() as string connectstring = provider=sqloledb.1;password=sa;user id=sa; 157 +initial catalog=pubs; data source =127.0.0.1 设置 sql server2000数据库链接字符串,此字符串可保存在目录文件中end function executesql函数执行 sql 语句,返回结果集public function

7、 executesql(byval sql as string, msgstring as string) _ as adodb.recordset dim cnn as adodb.connection dim rst as adodb.recordset dim stokens() as string on error goto executesql_error stokens = split(sql) set cnn = new adodb.connection cnn.open connectstring if instr(insert,delete,update,execute, u

8、case$(stokens(0) then cnn.execute (sql) msgstring = stokens(0) & query successful else set rst = new adodb.recordset rst.open trim$(sql), cnn, adopenkeyset, adlockoptimistic set executesql = rst msgstring = 查询到 & rst.recordcount & 条记录 end if executesql_exit: set rst = nothing set cnn = n

9、othing exit function executesql_error: msgstring = 查询错误 : & err.description resume executesql_exit end function 3系统用户管理模块的创建1)用户登录窗体设计当用户输入完用户名和用户密码后,单击“确定”按钮将对用户输入的信息进行判断。cmdok 的 click 事件代码如下: 单击“登录”按钮private sub cmdok_click() dim txtsql as string 用来存放 sql 语句 dim mrc as adodb.recordset 用来存放返回记录

10、集对象 dim msgtext as string 用来存放返回信息 if username.text = then msgbox 请输入用户名! username.setfocus else txtsql = select * from user_info where user_id= & username.text & 158 set mrc = executesql(txtsql, msgtext) 在用户表中查找用户 if mrc.eof then 没找到用户 , 回到用户名输入框 msgbox 没有这个用户 ! username.setfocus else 找到用户,

11、比较密码是否正确 if trim(mrc.fields(user_pwd) = trim(userpassword.text) then username_ok=trim(userpassword.text) 记录用户名 unload me 密码正确,进行系统 frmmain.show else 密码不对,重新输入 msgbox 输入密码不对! , 请重新输入 userpassword.setfocus end if end if end if end sub 单击“退出”按钮private sub cmdcancel_click() end end sub 2)添加用户窗体的创建用户需两次输

12、入密码,用来保证输入密码的正确。用户输入完信息后,单击“添加用户”按钮将触发click 事件,代码如下:dim txtsql as string dim mrc as adodb.recordset dim msgtext as string if trim(txtusername.text) = then 判断输入用户名是否为空 msgbox 请输入用户名称!, vbokonly, 警告 exit sub end if 判断输入的密码是否一致 if trim(txtpassword1.text) trim(txtpassword2.text) then msgbox 两次输入密码不一样,请确

13、认!, vbokonly, 警告 exit sub end if if len(txtpassword1.text) = 0 then 判断输入密码是否为空 msgbox 输入密码不能为空!, vbokonly, 警告 exit sub end if 判断帐号在数据库中是否已存在 txtsql = select * from user_info where user_id= & txtusername.text & set mrc = executesql(txtsql, msgtext) if mrc.eof then 为新的账号,加入数据库中159 mrc.addnew m

14、rc.fields(user_id) = trim(txtusername.text) mrc.fields(user_pwd) = trim(txtpassword1.text) mrc.update mrc.close msgbox 添加用户成功!, vbokonly, 添加用户 else 账号在数据库已存在 msgbox 用户已经存在,请重新输入用户名!, vbokonly, 警告 exit sub end if 单击“退出”按钮将退出添加用户界面,代码如下:private sub cmdcancel_click() unload me end sub 3)修改用户密码窗体的创建两次输入

15、密码后,单击“修改”按钮,将触发click 事件来修改当前登录账号的密码。代码如下:private sub cmdmodify_click() dim txtsql, msgtext as string dim mrc as adodb.recordset 判断密码输入是否一致 if trim(txtpassword1.text) trim(txtpassword2.text) then msgbox 密码输入不一致!, vbokonly, 警告 else 对当前用户的密码进行修改 txtsql = select * from user_info where user_id= & us

16、ername_ok & set mrc = executesql(txtsql, msgtext) mrc.fields(user_pwd) = trim(txtpassword1.text) mrc.update mrc.close msgbox 密码修改成功 , vbokonly, 修改密码 end if end sub private sub cmdexit_click() unload me end sub 两次输入的密码一致时,数据库中的记录将更新。4学生学籍管理模块的创建1)添加学籍信息窗体的创建在载入窗体时,程序将自动在性别下拉列表框中添加内容,这样可以规范化输入内容,代

17、码如下:private sub form_load() combo1.additem 男 160 combo1.additem 女 end sub 用户输入学生基本信息后,单击“确定”按钮将触发cmdxjadd_click 事件,代码如下:private sub cmdxjadd_click() dim mrc as adodb.recordset 定义数据集对象 dim txtsql as string 定义查询字符串变量 dim msgtext as string 定义字符串变量,用来返回查询信息 判断是否输入了学号 if trim(text1.text) = then msgbox 请输

18、入学号 , vbokonly, 警告 text1.setfocus exit sub end if 判断是否输入了姓名 if text2.text = then msgbox 请输入姓名 , vbokonly, 警告 text2.setfocus exit sub end if 判断是否输入了出生日期 if text3.text = then msgbox 请输入出生日期, vbokonly, 警告 text3.setfocus exit sub end if 判断输入的出生日期是否为正确格式 if not isdate(text3.text) then msgbox 日期的正确格式应为(yy

19、yy-mm-dd), vbokonly, 警告 text3.setfocus exit sub end if 判断是否输入了班级 if text4.text = then msgbox 请输入班级 , vbokonly, 警告 text4.setfocus exit sub end if 判断是否输入了入学时间 if text5.text = then msgbox 请输入入学时间, vbokonly, 警告 text5.setfocus exit sub end if 判断输入的入学时间是否为正确格式161 if not isdate(text5.text) then msgbox 日期的正

20、确格式应为(yyyy-mm-dd), vbokonly, 警告 text5.setfocus exit sub end if 根据学号判断数据库中是否有重复的记录 txtsql = select * from student_info where student_id= _ & trim(text1.text) & set mrc = executesql(txtsql, msgtext) if mrc.eof = false then msgbox 学号重复,请重新输入!, vbokonly, 警告 mrc.close text1.setfocus else 添加一条记录进入

21、数据库中 mrc.addnew mrc.fields(student_id) = trim(text1.text) mrc.fields(student_name) = trim(text2.text) mrc.fields(student_sex) = combo1.text mrc.fields(born_date) = format(text3.text, yyyy-mm-dd) mrc.fields(classname) = trim(text4.text) mrc.fields(enroll_date) = format(text5.text, yyyy-mm-dd) mrc.fie

22、lds(telephone) = trim(text6.text) mrc.fields(address) = trim(text7.text) mrc.fields(comment) = trim(text8.text) mrc.update msgbox 添加数据成功 , vbokonly, 提示 mrc.close end if end sub 程序对是否输入了内容和是否存在重复学号记录进行判断,日期格式的判断使用isdate()函数。单击“退出”按钮触发cmdexit_click 事件,代码如下:private sub cmdexit_click() unload me 卸载窗体end

23、 sub 2)修改学籍信息窗体的创建命令按钮触发相应的事件,程序代码如下:private sub command1_click() 指针移到第一条记录 adodc1.recordset.movefirst end sub private sub command2_click() 指针移到上一条记录,如果记录指针移到bof,则记录指针指到第一条,并给出提示 adodc1.recordset.moveprevious if adodc1.recordset.bof then 162 adodc1.recordset.movefirst msgbox 已到第一条记录! end if end sub

24、private sub command3_click() 指针移到下一条,如果记录指针移到eof,则记录指针指到最后一条,并给出提示adodc1.recordset.movenext if adodc1.recordset.eof then adodc1.recordset.movelast msgbox 已到最后一条记录 end if end sub private sub command4_click() 记录指针指到最后一条adodc1.recordset.movelast end sub private sub command5_click() 更新当前记录dim bookmark a

25、s variant 定义书签,记录当前记录的位置bookmark = adodc1.recordset.bookmark if trim(text2.text) = then 判断修改后的姓名是否为空 msgbox 姓名不能为空!, vbokonly, 警告 adodc1.refresh 数据库中的数据刷新文本框 adodc1.recordset.bookmark = bookmark 回到要修改记录位置 text2.setfocus exit sub end if if not isdate(text3.text) then 判断修改后是日期是否为正确格式 msgbox 出生日期格式不对!,

26、 vbokonly, 警告 adodc1.refresh adodc1.recordset.bookmark = bookmark text3.setfocus exit sub end if if trim(text5.text) = then 判断修改后的班级信息是否为空 msgbox 班级信息不能为空!, vbokonly, 警告 adodc1.refresh adodc1.recordset.bookmark = bookmark text5.setfocus exit sub end if if not isdate(text4.text) then 判断修改后是日期是否为正确格式

27、msgbox 入学时间格式不对!, vbokonly, 警告 adodc1.refresh 163 adodc1.recordset.bookmark = bookmark text4.setfocus exit sub end if 更新当前记录 adodc1.recordset.update msgbox 当前记录已更新!, vbokonly, 提示 end sub private sub command7_click() 删除当前记录 adodc1.recordset.delete adodc1.recordset.movefirst msgbox 当前记录已删除!, vbokonly,

28、 提示 end sub private sub command8_click() unload me end sub private sub command6_click() 取消更新 dim bookmark as variant bookmark = adodc1.recordset.bookmark adodc1.refresh adodc1.recordset.bookmark = bookmark end sub 3)查询学籍信息窗体的创建程序代码如下: 窗体加载事件private sub form_load() combo1.additem 学号 combo1.additem 姓名

29、 combo1.additem 班级 combo1.text = 学号 end sub 单击“查询”按钮private sub command1_click() if trim(text1.text) = then msgbox 请输入检索词 exit sub end if if combo1.text = 学号 then adodc1.recordsource = select * from student_info where student_id= _ & trim(text1.text) & adodc1.refresh end if 164 if combo1.tex

30、t = 姓名 then adodc1.recordsource=select * from student_info where student_name= _ & trim(text1.text) & adodc1.refresh end if if combo1.text = 班级 then adodc1.recordsource = select * from student_info where classname= _ & trim(text1.text) & adodc1.refresh end if end sub private sub comm

31、and2_click() unload me 退出查询窗体end sub 5学生成绩管理模块的创建1)添加成绩信息窗体的创建程序代码如下: 窗体加载事件private sub form_load() dim mrc as adodb.recordset dim txtsql as string dim msgtext as string combo1.clear combo2.clear 添加班级信息到下拉列表框中 txtsql = select distinct classname from student_info set mrc = executesql(txtsql, msgtext)

32、 while (mrc.eof = false) combo1.additem mrc.fields(classname) mrc.movenext wend 添加课程信息到下拉列表框中 txtsql = select course_no,course_name from course_info set mrc = executesql(txtsql, msgtext) while (mrc.eof = false) combo2.additem mrc.fields(course_no) & - _ & mrc.fields(course_name) mrc.movenext

33、 wend mrc.close end sub 选择下拉列表框的数据项时执行以下代码private sub combo1_click() 165 dim mrc as adodb.recordset dim txtsql as string dim msgtext as string combo3.clear 添加学生信息到下拉列表框中 txtsql = select student_id,student_name from student_info _ & where classname= & combo1.text & set mrc = executesql(tx

34、tsql, msgtext) while (mrc.eof = false) combo3.additem mrc.fields(student_id) & - _ & mrc.fields(student_name) mrc.movenext wend end sub 单击“确认添加”按钮private sub command1_click() dim xh as string 定义学号 dim kz as string 定义课程号 dim mrc as adodb.recordset dim txtsql as string dim msgtext as string if combo2.text = then msgbox 您还没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论