首页 > 代码库 > 【学生信息管理系统】对象变量或者With块变量未设置

【学生信息管理系统】对象变量或者With块变量未设置

学生信息管系统照着代码敲,敲完了后,漏洞百出,最初碰到的就是下面的这个提示框

而当这个提示出现时,点击调试按钮返回

<span style="font-size:18px;">If mrc.EOF = True Then</span>
VB中出现问题最快捷的方式就是去MSDN for VB上查找相关的信息,装上MSDN出现问题的时候,点击帮助。

由图可知,错误类型是对象变量或者With块变量未设置,而此处没有With块变量,那么只能是一种情况,对象变量未设置。此处的对象只有mrc 前面定义的一个Recordset记录集,这个问题原因是没有连上数据库,导致后面的Recordset对象的EOFBOF属性无效。

   而没有连上数据库的原因有很多,最常见的是下面的3种。

  1. ODBC数据源没有配置好
  2. 模块出连接数据库的代码出错
  3. SQL语句是否敲错。

  1. ODBC数据源的配置,最常见的问题就是没有所谓的local服务器,那么我们可以在服务器出输入一个英文点即可连接。
  2. <span style="font-size:18px;">'以文件DSN标记,访问ODBC数据源                                                                                 </span><pre name="code" class="vb"><span style="font-size:18px;">Public Function ConnectString() As String                              '这个函数是用来连接数据库</span><pre name="code" class="vb"><span style="font-size:18px;"><span style="white-space:pre">	</span>ConnectString = "FileDSN=student.dsn;UID=sa;PWD=fxq"</span>
    <span style="font-size:18px;">End Function</span>
    FileDSN后面的Student必须是配置ODBC的时候,DSN文件的名字。UID是SQL Server 软件登录的账号,PWD是SQL Server 登录的密码。必须跟自己电脑上一致。
  3. <span style="font-size:18px;">txtSQL = "select * from course_Info where course_No = ' " & Trim(txtCourseno.Text) & " '"       'SQL语句</span>
    SQL语句的结构,从外向内,分别是双引号,单引号,双引号,还有&连接符。该语句的意义是:从Course_Info 表中选择课程编号的内容,让他等于txtCourseno 这个输入框的内容,一定要在理解该语句的基础上,进行编写,这样才能避免很多粗心和不理解代码犯下的最不易察觉的低级错误。
第一次敲数据库系统,部分代码是没有接触过的,这种情况下最容易出的错误时,字母和标点符号出错,而这类错误在纠错的过程中,会花掉我们大量的时间。学生信息管理系统中很多的代码是重复的,那么在敲代码的时候,刚开始的时候就要理解代码,这样后面的学习,才能更加游刃有余,也降低错误的发生。