学生信息管理系统
- 格式: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 '用来存放返回信息