学生信息管理系统

  • 格式:doc
  • 大小:220.50 KB
  • 文档页数:16

学生信息管理系统

随着计算机和网络的普及,若建立一个C/S结构的学生信息管理系统,学生信息的管理通过计算机来实现,将使得管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。

数据库结构的实现

经过需求分析和概念结构设计后,得到学生信息管理数据库的逻辑结构。SQL Server

2000逻辑结构的实现,可以在企业管理器或SQL查询分析器的进行。下面是用查询分析器创建这些表格的SQL语句。

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] (

[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] [char] (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 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 TABLE [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] 学生信息管理系统主窗体的创建

在SQL Server 2000的查询分析器中执行了创建数据表SQL语句后,有关数据结构的后端设计工作就完成了。下面使用Visual Basic进行学生信息管理系统的功能模块和数据库系统的客户端程序的实现。

1. 创建工程项目Student_MIS

启动Visual Basic后,单击“文件→新建工程”菜单,在图3-16所示的工程模板中选择“标准EXE”项。单击“文件→保存工程”菜单,以Student_MIS.vbp为工程名保存工程。

图3-16 创建Student_MIS项目

2. 创建学生信息管理系统主窗体

在Visual Basic中,为了使程序更为美观、整齐有序,界面设计采用MDI多文档类型。

选择“工程→添加MDI窗体”菜单项,添加一个多文档界面,单击工具栏中的“菜单编辑器”创建主窗体的菜单,生成一个如图3-17所示的主窗体frmmain,其Caption属性为“学生信息管理系统”,并以文件名frmmain.frm保存。菜单结构参见图3-14。

图3-17 程序主窗体

3. 创建公用模块

在Visual Basic中可以用公用模块来存放整个工程项目公用的函数、全局变量等。整个工程项目中的任何地方都可以调用公用模块中的函数、变量,以提高代码的效率。在“工程资源管理器”中添加一个Module,保存为Module1.bas,其程序如下:

Public username_OK As String '记录登录用户名

'定义连接字符串函数

Public Function ConnectString() As String

ConnectString = "Provider=SQLOLEDB.1;Password=sa;User ID=sa; "

+"Initial Catalog=pubs; Data Source =127.0.0.1"

'设置SQL Server2000数据库链接字符串,此字符串可保存在目录文件中

End Function

'ExecuteSQL函数执行SQL语句,返回结果集

Public Function 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", UCase$(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 = Nothing

Exit Function

ExecuteSQL_Error:

MsgString = "查询错误: " & Err.Description

Resume ExecuteSQL_Exit

End Function

函数ConnectString和ExecuteSQL在本实例中会频繁使用,ConnectString函数为连接SQL Server2000数据库的参数调用函数,ExecuteSQL函数执行SQL语句,如删除、更新、添加和查询,只有执行查询语句时才返回记录集对象。

系统用户管理模块的创建

系统用户管理模块主要实现用户登录、添加用户和修改用户密码等功能。

1. 用户登录窗体设计

系统启动后,将首先出现如图3-18所示的用户登录窗体,用户输入正确的用户名和密码后才能进行系统。

图3-18 用户登录窗体

用户登录窗体中放置两个文本框(TextBox),用来输入用户名和密码;两个按钮(CommandButton)用来进入或退出登录;3个标签(Label)用来显示窗体的信息。这些控件的属性设置如表3-15所示。

表3-15 登录窗体的控件及属性值

控 件 属 性 属性取值 说 明

Register(Form) Caption 登录 窗体

StartUpPosition CenterScreen 窗体显示在屏幕中央

username Name username 文本框

userpassword Name username 文本框

PasswordChar * 输入的密码显示为*

cmdok Caption 登录 命令按钮

cmdcancel Caption 退出

Label1 Caption 学生信息管理系统 提示

Label2 Caption 用户名:

Label3 Caption 用户密码:

当用户输入完用户名和用户密码后,单击“确定”按钮将对用户输入的信息进行判断。cmdOK的Click事件代码如下:

'单击“登录”按钮

Private Sub cmdok_Click()

Dim txtsql As String '用来存放SQL语句

Dim mrc As ADODB.Recordset '用来存放返回记录集对象

Dim msgtext As String '用来存放返回信息