视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
0610101068宋艳
2025-10-02 04:47:16 责编:小OO
文档
《数据库原理》课程实习报告

                 ——学生餐卡管理系统

     

       

                  

 班级:06计科三班

学号: 0610101068

姓名:宋艳

指导教师:刘倩

                  设计日期:2008.12.14~2008.12.23

系统概述

   学生餐卡管理系统是每个学校和大型单位所不可缺少的后勤管理系统。

   随着计算机的普及,计算机正在应用于我们生活的方方面面,有了计算机我们管理各种信息也变的容易很多。数据库技术的出现为我们管理各种大型数据打下了基础,利用计算机数据库技术也提高了数据库管理的易用性与安全性。结合这次数据库实习我们小组五人一起作了这个功能相对简单的学生餐卡管理系统。

这个学生餐卡管理系统也是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

经过分析如此情况,我们使用微软公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,进行图形化的管理系统的开发。数据库方面我们用微软公司的SQL SERVER 2000作为数据库工具。

1 需求分析

应用背景

餐厅是各个大型单位的重要组成部分,特别是一些学校,由于学校有人员多的特点所以,学生餐卡管理数据库工作就显得繁重和复杂。所以计算机在这方面的管理中起到了不可替代的作用。

目前,学校学生较多,餐卡的各种信息也在不断增长。本系统就是要达到对学生日常使用餐卡情况的管理,从而实现管理员对添加新学生、管理员对学生的修改、管理员对毕业学生的删除、管理员对学生信息的查询、管理员对学生充值记录的查询、管理员对学生消费记录的查询、管理员对学生消费的记录、管理院对学生充值的记录、管理员对登入系统的用户的添加、管理员对用户密码的修改、学生对其消费记录的查询、学生对其充值记录的查询等十多个具体功能的实现。

系统需求

数据库需求分析

    各个用户的需求具体体现在各种信息的添加、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

针对此餐卡管理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:

(1)管理员登录:

账户、密码、账户类型

(2)学生登录:

账户、密码、账户类型

(3)学生基本信息:

学号、姓名、性别、学院、系别、余额

(4)学生充值信息:

学号、时间、金额

(5)学生消费信息:

学号、时间、金额

2 概念结构设计

E-R图:

管理员:

餐卡:

学生:

实体与实体之间的关系E-R图:

数据字典

数据字典是系统中各类数据描述的集合,使进行详细的数据收集和数据分析所获得的主要成果。数据字典是在需求分析时建立,在数据库设计过程中不断修改、充实、完善的。数据字典通常包括数据项、数据结构、数据流、数据存储、处理过程五部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。

(1).数据结构和数据项字典

充值表:本表主要用于给学生餐卡进行充值金钱

列名数据类型长度允许空
学号char10
金额char10
时间char10
 主码为学号和时间

学生表:本表主要用于学生信息的记录和查询

列名数据类型长度允许空
学号char10
姓名varchar50
性别char10
学院varchar50
系别varchar50
余额char10
主码是学号

消费表:本表主要用于记录学生的消费情况

列名数据类型长度允许空
学号char10
金额char8
时间char20
 主码为学号和时间

登录表:本表主要用于登录用户的查询信息

列名数据类型长度允许空
idchar10
pdchar10
typebit1
主码是id

(2) .数据流字典

名称说明位置定义
登陆验证验证ID号,合法用户可以登陆

 管理员→管理员

持卡者→学生

登陆验证=

用户名,密码

验证结果是否为合法用户,并验证以何种身份进入窗口管理员→ 管理员

学生→持卡者

验证结果=

登陆成功 , 无此用户名, 密码错误

查询信息持餐卡者可查看个人信息;管理员可查看所有情况学生个人消费信息,

所有学生的充值和消费信息,学生信息

查询信息=

查询个人信息 , 查询所有信息

添加信息只有管理员才能进行添加信息添加学生信息,添加餐卡用户信息添加信息=

添加学生信息,添加餐卡用户信息

修改信息管理员和持卡者都可以进行修改修改学生登录密码,修改学生信息修改信息=

修改学生登录密码,修改学生信息

删除信息只有管理员才能进行删除信息删除学生信息删除信息=删除学生信息

(3).数据存储字典

名称说明输入输出
管理员信息有管理员进行维护管理员管理员
学生信息有管理员进行维护管理员管理员
餐卡消费信息有管理员进行维护,学生进行查看管理员管理员,学生
餐卡充值信息有管理员进行维护,学生可进行查看管理员管理员,学生
数据流程图

管理员学生管理:

管理员查询学生信息:

管理员管理餐卡:

管理员用户管理:

学生信息查询:

3 逻辑结构设计

系统功能分析

系统开发的总体任务是实现学生餐卡信息关系的系统化、规范化。

    本系统需要完成的功能主要有:

    (1)管理员对添加新学生:学号、姓名、性别、学院、系别、余额

(2)管理员对学生的修改:学号、姓名、性别、学院、系别、余额

(3)管理员对毕业学生的删除:学号、姓名、性别、学院、系别、余额

(4)管理员对学生信息的查询:学号、姓名、性别、学院、系别、余额

(5)管理员对学生充值记录的查询:学号、时间、金额  

(6)管理员对学生消费记录的查询:学号、时间、金额

(7)管理员对学生消费的记录:学号、时间、金额

(8)管理院对学生充值的记录:学号、时间、金额

(9)管理员对登入系统的用户的添加(伴随添加新学生一起添加):id(学号)、pd(密码)、type(账户类型)

(10)管理员对用户密码的修改:id(学号)、pd(密码)、type(账户类型)

(11)学生对其消费记录的查询:学号、时间、金额

(12)学生对其充值记录的查询:学号、时间、金额

本系统结构图:

4 实施阶段:

登录界面:

学生登录:

                          

确定按钮的代码:

Private Sub ok_Click()

Dim rs As New ADODB.Recordset

Dim sql1 As String

If Trim(Text1.Text) = "" Then

    MsgBox "用户名不能为空,请重新输入!", , ""

    Text1.SetFocus

Else

    sql1 = " select * from 登录表 where id='" & Trim(Text1.Text) & " 'and type ='" & combo1.ListIndex & " ' "

    Set rs = ExecuteSQL(sql1)

  If rs.EOF = True Then

    MsgBox "没有此用户,请重新输入!", vbOKOnly + vbExclamation, ""

    Text1.Text = ""

    Text1.SetFocus

  Else

     If Trim(rs.Fields(1)) = Trim(Text2.Text) Then

        Me.Hide

        If combo1.Text = "学生" Then

            

            学生查询.Show

          

        Else

            餐卡管理.Show

        End If

     Else

        MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, ""

        Text2.Text = ""

        Text2.SetFocus

     End If

   End If

End If

 cnt = cnt + 1

If cnt = 3 Then

 Unload Me

End If

End Sub

取消按钮的代码:

Private Sub cancle_Click()

Unload Me

End Sub

学生可登录界面后可进行有关学生自己的消费和充值信息,以及余额的查询

消费记录的代码:

Private Sub Command2_Click()

DataGrid1.Visible = False

DataGrid2.Visible = True

End Sub

充值记录的代码:

Private Sub Command3_Click()

DataGrid2.Visible = False

DataGrid1.Visible = True

End Sub

查询余额的代码:

Private Sub Command1_Click()

Dim SQL As String

 

SQL = "select 余额 from 学生表 where 学号='" & 登录.Text1 & "'"

Dim rs1 As New ADODB.Recordset

Set rs1 = ExecuteSQL(SQL)

Text1.Text = rs1.Fields(0)

End Sub

管理员登录:

管理员登录后可以对所有信息的查询及修改。

在学生管理里可以进行添加学生信息的功能

也即添加学生可以任意添加学生信息:

添加按钮的代码:

Private Sub Command1_Click()

Dim rs_addxs As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL As String

If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

End If

If Trim(Text2.Text) = "" Then

  MsgBox "姓名不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

If Trim(combo1.Text) = "" Then

  MsgBox "请选学生性别", vbOKOnly + vbExclamation, ""

  combo1.SetFocus

  Exit Sub

End If

If Trim(Text4.Text) = "" Then

  MsgBox "学院不能为空", vbOKOnly + vbExclamation, ""

  Text4.SetFocus

  Exit Sub

End If

If Trim(Text5.Text) = "" Then

  MsgBox "系别不能为空", vbOKOnly + vbExclamation, ""

  Text5.SetFocus

  Exit Sub

End If

If Trim(Text3.Text) = "" Then

  MsgBox "余额不能为空", vbOKOnly + vbExclamation, ""

  Text3.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=C23"

SQL = "select * from 学生表 where 学号='" & Text1.Text & "'"

rs_addxs.Open SQL, conn, adOpenKeyset, adLockPessimistic

If rs_addxs.EOF Then

   rs_addxs.AddNew

   rs_addxs.Fields(0) = Trim(Text1.Text)

   rs_addxs.Fields(1) = Trim(Text2.Text)

   rs_addxs.Fields(2) = Trim(combo1.Text)

   rs_addxs.Fields(3) = Trim(Text4.Text)

   rs_addxs.Fields(4) = Trim(Text5.Text)

   rs_addxs.Fields(5) = Trim(Text3.Text)

  

    

   rs_addxs.Update

   MsgBox "添加学生信息成功!", vbOKOnly, ""

   rs_addxs.Close

Else

   MsgBox "学号重复!", vbOKOnly + vbExclamation, ""

   Text1.SetFocus

   rs_addxs.Close

   Exit Sub

End If

End Sub

取消按钮的代码:

Private Sub Command2_Click()

Unload Me

End Sub

在学生管理中管理员也可以进行学生信息的修改:

修改按钮的代码:

Private Sub xg_Click()

Dim ts As String

On Error GoTo xg

sc.Enabled = False

xg.Enabled = False

qd.Enabled = True

qx.Enabled = True

DataGrid1.AllowUpdate = True

Exit Sub

xg:

If Err.Number <> 0 Then

        MsgBox Err.Description

    End If

End Sub

删除按钮的代码:

Private Sub sc_Click()

Dim answer As String

 'On Error GoTo sc

 answer = MsgBox("确定要删除吗?", vbYesNo, "")

 If answer = vbYes Then

   DataGrid1.AllowDelete = True

   rs_xs.Delete

   rs_xs.Update

   DataGrid1.Refresh

 Else

   Exit Sub

 End If

 

'cmddel:

  'MsgBox Err.Description

End Sub

确定按钮的代码:

Private Sub qd_Click()

If Not IsNull(DataGrid1.Bookmark) Then

   rs_xs.Update

 End If

 sc.Enabled = True

xg.Enabled = True

 qd.Enabled = False

 qx.Enabled = False

 MsgBox "修改成功!", vbOKOnly + vbExclamation, ""

End Sub

取消按钮的代码:

Private Sub qx_Click()

rs_xs.CancelUpdate

DataGrid1.Refresh

DataGrid1.AllowAddNew = False

DataGrid1.AllowUpdate = False

sc.Enabled = True

xg.Enabled = True

qd.Enabled = False

qx.Enabled = False

End Sub

在查询信息里可以进行学生信息,充值记录和消费记录的查询:

管理员给餐卡持有者进行充值记录的查询:

管理员对学生消费信息的查询:

在餐卡管理里可以进行金额变动即充值和消费

充值按钮的代码:

Private Sub Command1_Click()

Dim rs_addye As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL, sql1 As String

If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

End If

If Trim(Text2.Text) = "" Then

  MsgBox "金额不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

If Trim(Text3.Text) = "" Then

  MsgBox "时间不能为空", vbOKOnly + vbExclamation, ""

  Text3.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=C23"

SQL = "select * from 充值表"

rs_addye.Open SQL, conn, adOpenKeyset, adLockPessimistic

   rs_addye.AddNew

   rs_addye.Fields(0) = Trim(Text1.Text)

   rs_addye.Fields(1) = Trim(Text2.Text)

   rs_addye.Fields(2) = Trim(Text3.Text)

  

    

   rs_addye.Update

   rs_addye.Close

   

   

sql1 = "select * from 学生表 where 学号='" & Text1.Text & " '"

rs_addye.Open sql1, conn, adOpenKeyset, adLockPessimistic

         

     rs_addye.Fields(5) = rs_addye.Fields(5) + Val(Text2.Text)

  

    

   rs_addye.Update

   

   MsgBox " 充值成功!", vbOKOnly, ""

   rs_addye.Close

End Sub

消费按钮的代码:

Private Sub Command2_Click()

Dim rs_addye As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL As String

If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

End If

If Trim(Text2.Text) = "" Then

  MsgBox "金额不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

If Trim(Text3.Text) = "" Then

  MsgBox "时间不能为空", vbOKOnly + vbExclamation, ""

  Text3.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=C23"

SQL = "select * from 消费表 "

rs_addye.Open SQL, conn, adOpenKeyset, adLockPessimistic

   rs_addye.AddNew

   rs_addye.Fields(0) = Trim(Text1.Text)

   rs_addye.Fields(1) = Trim(Text2.Text)

   rs_addye.Fields(2) = Trim(Text3.Text)

  

    

   rs_addye.Update

      rs_addye.Close

   

   sql1 = "select * from 学生表 where 学号='" & Text1.Text & " '"

rs_addye.Open sql1, conn, adOpenKeyset, adLockPessimistic

         

     rs_addye.Fields(5) = rs_addye.Fields(5) - Val(Text2.Text)

  

    

   rs_addye.Update

   MsgBox " 消费成功!", vbOKOnly, ""

   rs_addye.Close

End Sub

在用户管理中,管理员可以进行添加用户和修改密码的功能:

添加按钮的代码:

Private Sub Command1_Click()

Dim rs_addxs As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL As String

If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

End If

If Trim(Text2.Text) = "" Then

  MsgBox "密码不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=C23"

SQL = "select * from 登录表"

rs_addxs.Open SQL, conn, adOpenKeyset, adLockPessimistic

   rs_addxs.AddNew

   rs_addxs.Fields(0) = Trim(Text1.Text)

   rs_addxs.Fields(1) = Trim(Text2.Text)

   

    

   rs_addxs.Update

   MsgBox "添加用户成功!", vbOKOnly, ""

   rs_addxs.Close

   Exit Sub

End Sub

取消按钮的代码:

Private Sub Command2_Click()

Unload Me

End Sub

管理员还可进行密码的修改:

修改按钮的代码:

Private Sub Command1_Click()

Dim rs_addxs As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL As String

 If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

 End If

 

If Trim(Text2.Text) = "" Then

  MsgBox "密码不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=C23"

SQL = "select * from 登录表 where id='" & Text1.Text & "'"

rs_addxs.Open SQL, conn, adOpenKeyset, adLockPessimistic

   rs_addxs.Fields(0) = Trim(Text1.Text)

   rs_addxs.Fields(1) = Trim(Text2.Text)

   rs_addxs.Update

   MsgBox "修改密码成功!", vbOKOnly, ""

   rs_addxs.Close

   Exit Sub

End Sub

取消按钮的代码:

Private Sub Command2_Click()

Unload Me

End Sub

退出的代码:

Private Sub tc_Click()

Unload Me

End Sub

数据库实习报告

——餐卡管理数据库

我是飞天小组的宋艳同学,同时也是组长。由于在做策划时考虑问题不够周全,加上后期实践中遇到的问题以及我们的思考,作品和当初交上的策划书有些出入这是我组长的失职。在这个小组中我参与了如下工作:  

一、部分系统功能构想

二、部分界面设计构想

三、部分数据库的构想

四、部分代码设计

我主要的工作是书写了如下窗体的代码:

Private Sub cancle_Click()

Unload Me

End Sub

Private Sub Form_Load()

Combo1.Text = "学生"

End Sub

Private Sub ok_Click()

Dim rs As New ADODB.Recordset

Dim sql1 As String

If Trim(Text1.Text) = "" Then

    MsgBox "用户名不能为空,请重新输入!", , ""

    Text1.SetFocus

Else

    sql1 = " select * from 登录表 where id='" & Trim(Text1.Text) & " 'and type ='" & Combo1.ListIndex & " ' "

    Set rs = ExecuteSQL(sql1)

  If rs.EOF = True Then

    MsgBox "没有此用户,请重新输入!", vbOKOnly + vbExclamation, ""

    Text1.Text = ""

    Text1.SetFocus

  Else

     If Trim(rs.Fields(1)) = Trim(Text2.Text) Then

        Me.Hide

        If Combo1.Text = "学生" Then

            学生查询.Show

        Else

            餐卡管理.Show

        End If

     Else

        MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, ""

        Text2.Text = ""

        Text2.SetFocus

     End If

   End If

End If

 cnt = cnt + 1

If cnt = 3 Then

 Unload Me

End If

End Sub

1、在这个窗体中,我引用组合框来设定进入系统的身份。我们有两个主窗体,学生查询餐卡管理,在登录表中管理员类型为1学生默认为0与组合框的listindex相对应。

2、同时保证用户名和密码不能为空,用户名身份密码正确都正确才能进入。

3、另外设置全局变量cnt来记录登录次数超过三次自动关闭系统!

Private Sub Command1_Click()

Dim SQL As String

 SQL = "select 余额 from 学生表 where 学号='" & 登录.Text1 & "'"

Dim rs1 As New ADODB.Recordset

Set rs1 = ExecuteSQL(SQL)

Text1.Text = rs1.Fields(0)

End Sub

Private Sub Command2_Click()

DataGrid1.Visible = False

DataGrid2.Visible = True

End Sub

Private Sub Command3_Click()

DataGrid2.Visible = False

DataGrid1.Visible = True

End Sub

Private Sub Form_Load()

Dim sql1, sql2 As String

sql1 = "select * from 消费表 where 学号='" & 登录.Text1 & "'"

Dim rs1 As New Recordset

Set rs1 = ExecuteSQL(sql1)

Set DataGrid2.DataSource = rs1

sql2 = "select * from 充值表 where 学号='" & 登录.Text1 & "'"

Dim rs2 As New Recordset

Set rs2 = ExecuteSQL(sql2)

Set DataGrid1.DataSource = rs2

End Sub

1、在学生查询窗体的设计中遇到了问题,我们要求只显示登录用户的信息。开始想利用全局变量来获取登录中的用户名以及记录集的返回中多次失败,最后请教了老师和其他同学成功的解决了这个问题!

2、引用了两个DataGrid控件,通过单击消费记录和充值记录来让两个控件显示和隐藏,这些控件显示的内容分别和消费表充值表相连。余额的查询与学生表中余额字段相连。

1、这是管理员操作的主窗体,他可以通过单击菜单来触发各个窗体的弹出。在此窗体中主要是学习使用菜单编辑器。

Private Sub Command1_Click()

Dim rs_addxs As New ADODB.Recordset

Dim conn As New ADODB.Connection

Dim SQL As String

If Trim(Text1.Text) = "" Then

  MsgBox "学号不能为空", vbOKOnly + vbExclamation, ""

  Text1.SetFocus

  Exit Sub

End If

If Trim(Text2.Text) = "" Then

  MsgBox "姓名不能为空", vbOKOnly + vbExclamation, ""

  Text2.SetFocus

  Exit Sub

End If

If Trim(Combo1.Text) = "" Then

  MsgBox "请选学生性别", vbOKOnly + vbExclamation, ""

  Combo1.SetFocus

  Exit Sub

End If

If Trim(Text4.Text) = "" Then

  MsgBox "学院不能为空", vbOKOnly + vbExclamation, ""

  Text4.SetFocus

  Exit Sub

End If

If Trim(Text5.Text) = "" Then

  MsgBox "系别不能为空", vbOKOnly + vbExclamation, ""

  Text5.SetFocus

  Exit Sub

End If

If Trim(Text3.Text) = "" Then

  MsgBox "余额不能为空", vbOKOnly + vbExclamation, ""

  Text3.SetFocus

  Exit Sub

End If

conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=cf"

SQL = "select * from 学生表 where 学号='" & Text1.Text & "'"

rs_addxs.Open SQL, conn, adOpenKeyset, adLockPessimistic

If rs_addxs.EOF Then

   rs_addxs.AddNew

   rs_addxs.Fields(0) = Trim(Text1.Text)

   rs_addxs.Fields(1) = Trim(Text2.Text)

   rs_addxs.Fields(2) = Trim(Combo1.Text)

   rs_addxs.Fields(3) = Trim(Text4.Text)

   rs_addxs.Fields(4) = Trim(Text5.Text)

   rs_addxs.Fields(5) = Trim(Text3.Text)

   rs_addxs.Update

   MsgBox "添加学生信息成功!", vbOKOnly, ""

   rs_addxs.Close

Else

   MsgBox "学号重复!", vbOKOnly + vbExclamation, ""

   Text1.SetFocus

   rs_addxs.Close

   Exit Sub

End If

End Sub

Private Sub Command2_Click()

Unload Me

End Sub

1、通过书写代码输入的信息不能为空,保证添加学生信息的完整性。使用msgbox控件的使用提示操作错误

2、通过Adodb控件的使用将数据库和界面信息联系起来,再添加过程中保证相应字段对应以及无重复学号插入!

Option Explicit

Dim rs_xs As New ADODB.Recordset

Private Sub DataGrid1_Click()

End Sub

Private Sub Form_Load()

 Dim SQL As String

 Dim conn As New Connection

 On Error GoTo loaderror

 conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=餐卡管理数据库;Data Source=cf"

  SQL = "select * from 学生表"

 rs_xs.CursorLocation = adUseClient

 rs_xs.Open SQL, conn, adOpenKeyset, adLockPessimistic

qd.Enabled = False

qx.Enabled = False

 DataGrid1.AllowAddNew = False

 DataGrid1.AllowDelete = False

 DataGrid1.AllowUpdate = False

Set DataGrid1.DataSource = rs_xs

Exit Sub

loaderror:

            MsgBox Err.Description

End Sub

Private Sub qd_Click()

If Not IsNull(DataGrid1.Bookmark) Then

   rs_xs.Update

 End If

 sc.Enabled = True

xg.Enabled = True

 qd.Enabled = False

 qx.Enabled = False

 MsgBox "修改成功!", vbOKOnly + vbExclamation, ""

End Sub

Private Sub qx_Click()

rs_xs.CancelUpdate

DataGrid1.Refresh

DataGrid1.AllowAddNew = False

DataGrid1.AllowUpdate = False

sc.Enabled = True

xg.Enabled = True

qd.Enabled = False

qx.Enabled = False

End Sub

Private Sub sc_Click()

Dim answer As String

 'On Error GoTo sc

 answer = MsgBox("确定要删除吗?", vbYesNo, "")

 If answer = vbYes Then

   DataGrid1.AllowDelete = True

   rs_xs.Delete

   rs_xs.Update

   DataGrid1.Refresh

 Else

   Exit Sub

 End If

 'cmddel:

  'MsgBox Err.Description

End Sub

Private Sub xg_Click()

Dim ts As String

On Error GoTo xg

sc.Enabled = False

xg.Enabled = False

qd.Enabled = True

qx.Enabled = True

DataGrid1.AllowUpdate = True

Exit Sub

xg:

If Err.Number <> 0 Then

        MsgBox Err.Description

    End If

End Sub

1、本窗体实现修改学生信息,删除学生等功能。

2、在这个窗体中充分使用了Datagrid空间的各种属性功能,通过这些属性来实现各种操作以及数据库表的改变。

3、让四个命令按钮在操作之后适当变换其可用性也是一个难点

至于系统中的其他部分也和我们组同学做了讨论,上面的窗体代码设计有自己的辛苦也有像老师同学请教的内容,尽管做的不够完善但是我学到了很多东西!

实习后感想:

通过这一个多星期与同组人员不懈努力,学生餐卡管理系统基本开发完毕。其基本基本符合预期,能够完成学生信息添加、更新,学生消费、学生充值以及各种历史记录查询工作。

但是由于设计时间比较短,所以该系统还有很多不尽人意的地方,比如界面不够精美,并且还有当初设想的功能没有实现,比如学生餐卡挂失功能,出错信息的处理,数据的录入相对麻烦等多方面问题。这些都有待进一步的改善。

将近两周的课程实习,使我们提高了实际操作能力,从以前的理论上升到实践,收获的不仅有掌握vb基本功能、SQL SERVER使用方法这种实际的知识,更有成功的喜悦,团队合作的体验,遇到困难克服困难的一份快感。下载本文

显示全文
专题