学生信息管理系统(四)——模块分析

       学生信息管理系统已经敲完了,也进行了第一次验收,结果不是太理想。之前的总结也没有及时发表。现在重新复习一遍,把它发表。

       从今天开始,我们就进入了代码分析阶段。现在我们就来分析一下模块中的几个函数。

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
'executes SQL and returns 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", UCase$(sTokens(0))) Then            '非Select语句
      cnn.Execute SQL   '数据量不大时,可以在连接上,直接执行SQL语句
      MsgString = sTokens(0) & " query successful"
      '虽然MsgString不是返回值,但传递方式是ByRef,实参地址和这个地址相同
   Else                                                                 'Select语句
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
      '得到临时表,游标指向第一条记录
      'get RecordCount,
      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

ExecuteSQL函数:

      含义:利用SQL语句查询字符串,返回ADO记录集。

1、split()函数

英文解释:vt.分裂;分开

计算机语言解释: 返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 

语法:Split(expression[, delimiter[, count[, compare]]])  

个人理解:split(SQL)就是把整个SQL语句拆解为一个数组。

例如:

          SQL="select * from user_Info"

          split(SQL)
          sTokens(0)=select 
          sTokens(1)=*
          sTokens(2)=from 

          sTokens(3)=user_Info

        这样就把一个完整的SQL语句拆解成了一个数组。

2、Instr()函数 
含义:字符串处理函数,返回要截取的字符串在源字符串中的位置。
语法:Instr([start,]string1,string2[,compare])
从Start(若省略从第一位开始)位置开始,在string1中寻找string2,如果没有找到则返回0。

例如:

        若SQL="select * from user_Info"

        则InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0)))=0


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
为实现用户需求,从需求分析阶段的数据流图出发,根据小组讨论后确定的最佳方案。本系统主要包括两大功能模块学生信息和成绩信息两个系统。其中学生信息系统划分为七个模块,学生成绩划分为模块。然后在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据结构。在测试过程中,先对单个模块进行测试,然后把模块连接起来进行测试。测试完成后书写文档,最后小组成员和用户在一块审查和复审。 1、 课题陈述 一方面,在时下这个飞速发展的信息社会中,直到今天仍然没有一套完善可行的学生信息管理系统出现在学校里。每年,从大专生、本科生到硕士生、博士生,几千人的入学、升学、毕业,全要由教务处和各系老师人工管理。信息量之巨大,工作量之繁重,是难以想象的。因此,学校和各个系都要安排多名教师专门负责学生学籍管理,浪费了大量的人力资源。然而,即使这样,管理仍然谈不上井井有条。举一个最简单的真实例子,一个同学的姓名在花名册里印错了,就一错错了三年,一直没能改正。同学想去改,却不知道是应该找系里,还是去找教务处。还有,当学生的基本信息,比如家庭住址、电话等变更后,无法及时在档案中修改,使得老师与同学无法联系沟通。 另一方面,从社会这方面讲,随着计算机的普及,越来越多的学校利用计算机来处理日常事务。面对众多的数据资料,很多管理者常常感到无从下手。在数字化的今天,我们需要一个学生管理系统,使我们的整体管理水平上一个档次,与如今这个高科技的信息社会接轨。 因此,如何有效的管理学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸运的梦之星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值