dim Con as new Adodb.Connection
con.open ""'此处连接数据库
set mrc = new ADODB.Recordset'此处为你出错的关键
mrc.open "select * from course_Info ",con
    

解决方案 »

  1.   

    adodb.connectionstring在模块中已声明过
      

  2.   

    在Set mrc = executesql(txtSQL, MsgText)前面加
    set mrc = new ADODB.Recordset呀
        
      

  3.   

    如果mrc为空的话,应该不能访问eof,你试一试用for 0 to mrc.recordset.count-1.
      

  4.   

    是否将此语句删除,然或使用for 0 to mrc.recordset.count-1
      

  5.   

    set mrc = new ADODB.Recordset
    txtSQL = "select * from course_Info "
    Set mrc = executesql(txtSQL, MsgText)
      

  6.   

    判断记录集是否为空最好用下面的语句:
    set mrc=con.execute("select count(*) from course_info")
    if mrc(0)=0 then
    msgbox"记录集为空"vbOKOnly + vbExclamation, "警告"
    end if      
      

  7.   

    模板文件
    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
        '用split函数产生一个包含各个子串的数组
           stoken = Split(sql)
        Set cnn = New ADODB.Connection
           cnn.Open connectstring
           '判断字符串中是否含有指定内容
        If InStr("INSERT,DELETE,UPDATE", 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
    Public Function connectstring() As String
        connectstring = " Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=student;Data Source=wanyee108"
    End Function
      

  8.   

    判断
    rs,recordcount

    rs.movefirst
    if rs.bof and rs.eof then
        '记录集为空
    elseendif
      

  9.   

    if rs.recordcount=0 then
    '
    end if