请问哪位大虾用过这里下载的《学生信息管理系统》啊!小弟下载了一个,可是不知道怎么设置啊,相应的数据库我以用SQL生成了,可是怎么运行时提示:“实时错误‘91’对象变量或With块变量未设置。”然后错误指向: If mrc.EOF = True Then Private Sub cmdOK_Click() 
  Dim txtSQL As String 
  Dim mrc As ADODB.Recordset 
  Dim MsgText As String   UserName = "" 
  If Trim(txtUserName.Text = "") Then 
    MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" 
    txtUserName.SetFocus 
  Else 
    txtSQL = "select * from user_Info where user_ID = '" & txtUserName.Text & "'" 
    Set mrc = ExecuteSQL(txtSQL, MsgText) 
 ------>  If mrc.EOF = True Then 
      MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" 
      txtUserName.SetFocus 
    Else 
      If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then 
        OK = True 
        mrc.Close 
        Me.Hide 
        UserName = Trim(txtUserName.Text) 
      Else 
        MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告" 
        txtPassword.SetFocus 
        txtPassword.Text = "" 
      End If 
    End If 
  End If 
在ODBC数据源里我也做了相应的设置可是还是不行,具我了解是在其模块的 
Public Function ConnectString() _ 
  As String 
  ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD=" 
End Function 
这个位置有问题,请大虾指点。

解决方案 »

  1.   

    你引用ADO了吗?
    工程……》引用……》Activex Data Object,随便选个版本!
      

  2.   

    在ExecuteSQL(txtSQL, MsgText) 这个函数中找问题。
      

  3.   

    事先对公共部分函数有过定义,还请大狭继续指导
    Public Function executesql(ByVal txtSQL As String,MsgText As String) As ADODB.Recordset
    '传递参数SQL传递查询语句,MSGSTRING 传递查询信息
    Dim cn As Connection
    Dim rs As Recordset
    Dim sTokens() As String
    '异常处理
    On Error GoTo executesql_error
    '用SPLIT函数产生一个包含各个子串的数组
      sTokens = Split(sql)
      Set cn = New Connection
      cn.Open ConnectionString
      '判断字符串中是否含有指定内容
      If InStr("insert,delete,update", UCase$(sTokens(0))) Then
        cn.Execute sql
        MsgText = sTokens(0) & "query successful"
      Else
       Set rs = New Recordset
       rs.Open Trim$(sql), cn, adOpenKeyset, adLockOptimistic
       rs.MoveLast 'get recordcount
       Set executesql = rs
         MsgText = "查询到" & rs.RecordCount & "条记录"
       End If
    executesql_exit:
      '清空数据集对象
       Set rs = Nothing
       '中断连接
       Set cn = Nothing
       Exit Function
       '错误类型诊断
    executesql_error:
       MsgText = "查询错误" & Err.Description
       Resume executesql_exit
          End Function
    Public Function connectstring() As String
      connectstring = "dsn=user;"
    End Function
      

  4.   

    稍作修改试试Private Sub cmdOK_Click() 
      Dim txtSQL As String 
      Dim mrc As ADODB.Recordset 
      Dim MsgText As String 
        set mrc =new ADODB.Recordset  UserName = "" 
      If Trim(txtUserName.Text = "") Then 
        MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" 
        txtUserName.SetFocus 
      Else 
        txtSQL = "select * from user_Info where user_ID = '" & txtUserName.Text & "'" 
        rs.Open txtSQL, conn, adOpenStatic, adLockOptimistic
     ------>  If mrc.EOF = True Then 
          MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" 
          txtUserName.SetFocus 
        Else 
          If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then 
            OK = True 
            Me.Hide 
            UserName = Trim(txtUserName.Text) 
          Else 
            MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告" 
            txtPassword.SetFocus 
            txtPassword.Text = "" 
          End If 
               mrc.close
        End If 
      End If 
      

  5.   

    头上还得加上:
       dim conn as ADBOB.connection
       set conn =new ADODB.connection