Recordset说它已经关闭,但我不相信我有

时间:2019-04-17 21:32:00

标签: html bootstrap-4 asp-classic

我一直在处理一个记录集对象,该对象说在结束代码行之前它已关闭。我将在下面发布代码

set rs_Resultados_Seguimiento = Server.CreateObject("ADODB.Recordset")

var_tipo_busqueda_predio = Session("tipo_busqueda_predio")

select case clng(var_tipo_busqueda_predio)
    case 1
        'BUSQUEDA LISTA POR ROL
        '--------------------------------------------
        rs_Resultados_Seguimiento.Open  "SELECT       dbo_seguimiento_certificado.codigo_seguimiento_certificado, " &_
                                                     "dbo_estado_certificado.nombre_estado_certificado, "&_
                                                     "dbo_cip.codigo_unico_certificado, dbo_cip.descripcion_certificado, dbo_cip.nombre_solicitante_certificado, dbo_cip.fecha_ingreso_certificado," &_
                                                     "dbo_predios.codigo_manzana_predio, dbo_predios.codigo_lote_predio" &_
                                                     "dbo_funcionarios.nombre_completo_funcionario+' '+dbo_funcionarios.apellido_completo_funcionario as Nombre_Funcionario" &_
                                        "FROM         dbo_estado_certificado " &_
                                        "INNER JOIN   dbo_seguimiento_certificado ON dbo_estado_certificado.codigo_estado_certificado = dbo_seguimiento_certificado.codigo_estado_certificado" &_
                                        "INNER JOIN   dbo_cip ON dbo_seguimiento_certificado.codigo_unico_certificado = dbo_cip.codigo_unico_certificado" &_
                                        "INNER JOIN   dbo_funcionarios ON dbo_cip.codigo_unico_funcionario = dbo_funcionarios.codigo_unico_funcionario" &_
                                        "INNER JOIN   dbo_predios ON dbo_cip.codigo_unico_predio = dbo_predios.codigo_unico_predio" &_
                                        "WHERE        dbo_predios.codigo_manzana_predio=" & Clng(Session("codigo_manzana_busqueda")) & " AND dbo_predios.codigo_lote_predio=" & Clng(Session("codigo_lote_busqueda")),cn_body,1,1

        value_titulo_tabla = " al ROL:  <strong>" & Session("codigo_manzana_busqueda") & "-" & Session("codigo_lote_busqueda") & "</strong>"

    case 3
        'Crea rs_Resultados_Seguimiento por CODIGO
        '--------------------------------------------
        rs_Resultados_Seguimiento.Open  "SELECT       dbo_seguimiento_certificado.codigo_seguimiento_certificado, " &_
                                                     "dbo_estado_certificado.nombre_estado_certificado, "&_
                                                     "dbo_cip.codigo_unico_certificado, dbo_cip.descripcion_certificado, dbo_cip.nombre_solicitante_certificado, dbo_cip.fecha_ingreso_certificado," &_
                                                     "dbo_predios.codigo_manzana_predio as nvarchar, dbo_predios.codigo_lote_predio," &_
                                                     "dbo_funcionarios.nombre_completo_funcionario+' '+dbo_funcionarios.apellido_completo_funcionario as Nombre_Funcionario" &_
                                        "FROM         dbo_estado_certificado " &_
                                        "INNER JOIN   dbo_seguimiento_certificado ON dbo_estado_certificado.codigo_estado_certificado = dbo_seguimiento_certificado.codigo_estado_certificado" &_
                                        "INNER JOIN   dbo_cip ON dbo_seguimiento_certificado.codigo_unico_certificado = dbo_cip.codigo_unico_certificado" &_
                                        "INNER JOIN   dbo_funcionarios ON dbo_cip.codigo_unico_funcionario = dbo_funcionarios.codigo_unico_funcionario" &_
                                        "INNER JOIN   dbo_predios ON dbo_cip.codigo_unico_predio = dbo_predios.codigo_unico_predio" &_
                                        "WHERE        dbo_seguimiento_certificado.codigo_seguimiento_certificado=" & Clng(Session("codigo_seguimiento_certificado")),cn_body,1,1

        value_titulo_tabla = " al CODIGO:  <strong>" & Session("IDE_predio_busqueda")  & "</strong>"

end select

'**********************************************************************************************************************************************
%>

<div class="container-fluid" style="margin-top:11px;padding:0px;background-color:#f5f5f5;width:100%"><!--Barra Menu Horizontal-->
    <div class="col-md-2" style="margin:0px;padding:0px;border-right:1px solid #cecece;border-bottom:1px solid #cecece">
        <ol class="breadcrumb" style="margin-bottom:0px">
            <li>
                <a href="<%=Session("param_aplicacion_web_server")%>modulo_gestor_territorial/page_Gestor_Territorial_Escritorio.asp">
                    Menus
                </a>
            </li>
            <li style="float:right">
                <a data-toggle="collapse" href="#colapsarBusqueda" aria-expanded="false" aria-controls="colapsarBusqueda">
                    <span class="glyphicon glyphicon-search" aria-hidden="true" style="padding:0px"></span>
                </a>
            </li>
            <li style="float:right">
                <a href="<%=Session("param_aplicacion_web_server")%>shared_funcion/mi_cuenta/page_Mi_Cuenta_Editar.asp">
                    <span class="glyphicon glyphicon-user" aria-hidden="true" style="padding:0px"></span>
                </a>
            </li>
            <li style="float:right">
                <a href="<%=Session("param_aplicacion_web_server")%>shared_funcion/cambiar_contrasena/page_Cambiar_Contrasena.asp">
                    <span class="glyphicon glyphicon-lock" aria-hidden="true" style="padding:0px"></span>
                </a>
            </li>
        </ol>
    </div>
    <div class="col-md-10" style="margin:0px;padding:0px;border-bottom:1px solid #cecece">
        <ol class="breadcrumb" style="margin-bottom:0px">
            <li><a href="<%=Session("param_aplicacion_web_server")%>modulo_seguimiento_cip/page_Seguimiento_CIP_Escritorio.asp"><span class="glyphicon glyphicon-th" aria-hidden="true"></span></a></li>
            <li><a href="<%=Session("param_aplicacion_web_server")%>modulo_seguimiento_cip/page_Seguimiento_CIP_Escritorio.asp">Modulo Seguimiento CIP</a></li>  
            <li>Seguimiento de Certificados</li>    
            <li style="float:right">
                <a href="<%=Session("param_aplicacion_web_server")%>page_Sistema_OnLine.asp"><span class="glyphicon glyphicon-home" aria-hidden="true"></span></a>
            </li>
        </ol>
    </div>
</div>
<div class="container-fluid" style="padding:0px;width:100%;margin:0px"><!--Buscador por ROL (Oculto)-->
    <div class="col-md-2" style="margin:0px;padding:0px;float:left">
        <div class="collapse" id="colapsarBusqueda">
            <div class="panel panel-default" style="margin:2px">
                <div class="panel-body">
                    <form name="form_Buscar_Funcionario_Rut_Hidden" id="form_Buscar_Funcionario_Rut_Hidden" 
                        action="<%=Session("param_aplicacion_web_server")%>modulo_administracion_general/funcionario/page_program/prog_Buscar_Funcionario_Rut.asp" method="post"
                        role="form" class="form-inline">
                        <div class="form-group">
                            <input id="var_rut_unico_funcionario" name="var_rut_unico_funcionario" type="text" placeholder="Ingrese un Rol" 
                            onKeyPress="return SoloNumeros_rol(event)"  
                            class="form-control input-sm" style="text-transform:uppercase;width:80%">
                            <button type="button" class="btn btn-primary btn-sm" onclick="submit_Form_Buscar_Funcionario_Rut_Hidden_onclick()">
                            <span class="glyphicon glyphicon-ok" aria-hidden="true" style="padding:0px"></span></button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="container" style="padding:0px;width:100%;margin:0px">
    <div class="col-md-2" style="margin:0px;padding:0px;float:left"><!--Barra Menu Lateral-->
    <!-- #include virtual=/modulo_seguimiento_cip/menu_cip/menu/menu_Seguimiento.asp-->
    </div>
    <div class="col-sm-10">
        <div class="table-responsive" style="margin-top:15px">
            <table class="table table-bordered">
                <tbody>
                    <tr>
                        ***<td style="width:100%;text-align:left" colspan="6" class="active"><strong><%=rs_Resultados_Seguimiento.recordcount%></strong> Certificados asociados a este ROL <%=value_titulo_tabla%></td>
                    </tr>
                    <tr>
                        <td style="width:10%;text-align:center" class="active">CODIGO DE SEGUIMIENTO</td>
                        <td style="width:10%;text-align:left" class="active">ESTADO DE CERTIFICADO</td>
                        <td style="width:10%;text-align:left" class="active">NUMERO DE CERTIFICADO</td>
                        <td style="width:10%;text-align:left" class="active">DESCRIPCION</td>
                        <td style="width:10%;text-align:left" class="active">NOMBRE DE SOLICITANTE</td>
                        <td style="width:10%;text-align:left" class="active">FECHA DE INGRESO</td>
                        <td style="width:10%;text-align:left" class="active">ROL</td>
                        <td style="width:10%;text-align:left" class="active">FUNCIONARIO A CARGO</td>
                    </tr>
                    <%
              While Not rs_Resultados_Seguimiento.eof=true
                        val_codigo_seguimiento_certificado  = rs_Resultados_Seguimiento("codigo_seguimiento_certificado")
                        val_nombre_estado_certificado       = rs_Resultados_Seguimiento("nombre_estado_certificado")
                        val_codigo_unico_certificado        = rs_Resultados_Seguimiento("codigo_unico_certificado")
                        val_descripcion_certificado         = rs_Resultados_Seguimiento("descripcion_certificado")
                        val_nombre_solicitante              = rs_Resultados_Seguimiento("nombre_solicitante_certificado")
                        val_fecha_ingreso_certificado       = rs_Resultados_Seguimiento("fecha_ingreso_certificado")
                        val_rol_completo_predio             = rs_Resultados_Seguimiento("codigo_manzana_predio") & "-" & rs_Resultados_Seguimiento("codigo_lote_predio")
                        val_funcionario_a_cargo             = rs_Resultados_Seguimiento("nombre_completo_funcionario") & "-" & rs_Resultados_Seguimiento("apellido_completo_funcionario")

                        if var_esta_activo_predio = -1 then
                            var_esta_activo_predio = 1
                        end if

                        if var_esta_activo_predio = 0 then
                            text_esta_activo_predio = "DESACTIVADO"
                        else
                            text_esta_activo_predio = "ACTIVO"
                        end if

                        if val_rol_asignado_predio = true then
                            text_rol_asignado_predio = "SI"
                        else
                            text_rol_asignado_predio = "NO"
                        end if
                    %>
                        <tr>
                            <td style="text-align:center">
                                <small>
                                    <%=val_codigo_seguimiento_certificado%>
                                </small>
                            </td>
                            <td style="text-align:center">
                                <small>
                                    <%=val_nombre_estado_certificado%>
                                </small>
                            </td>
                            <td style="text-align:center">
                                <small>
                                    <%=val_descripcion_certificado%>
                                </small>
                            </td>
                            <td style="text-align:left">
                                <small>
                                    <%=val_nombre_solicitante%>
                                </small>
                            </td>
                                <td style="text-align:left">
                                <small>
                                    <%=val_fecha_ingreso_certificado%>
                                </small>
                            </td>
                               <td style="text-align:left">
                                <small>
                                    <%=val_rol_completo_predio%>
                                </small>
                            </td>
                               <td style="text-align:left">
                                <small>
                                    <%=val_funcionario_a_cargo%>
                                </small>
                            </td>

                            <td style="text-align:center">
                                <button type="button" class="btn btn-default btn-sm" aria-hidden="true" data-toggle="modal" data-target="#div_mapa" onclick="fun_ver_mapa_basic(<%=val_predio_IDE%>,<%=value_codigo_cobertura_tipo%>)">
                                    <span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span> Ver
                                </button>
                            </td>
                            <td style="text-align:center">
                                <button type="button" class="btn btn-default btn-sm"  onclick="return submitFormFindKey_Predio_Lista_onclick(<%=val_codigo_unico_predio%>);">
                                    Seleccionar
                                </button>
                            </td>
                        </tr>
                    <%
                    rs_Resultados_Seguimiento.movenext
                    Wend
                    %>
                </tbody>
            </table>
        </div>
        <!-- Modal -->
        <div class="modal " id="div_mapa" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-dialog"> 
                <div class="modal-content" style="width:700px;">
                    <!--<div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                        <h4>Mapa<h4>
                    </div>-->
                    <div class="modal-body" style="width:700px; height:450px">
                        <iframe id="frame_mapa" src="<%=Session("param_aplicacion_web_server")%>modulo_gestor_territorial/predio/iframe/frame_Mapa_Visor_Predio.asp" style="width:670px; height:420px; border:1px; margin:0px; padding:0px">
                            <p>Your browser does not support iframes.</p>
                        </iframe>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                    </div>
                </div>
            </div>
        </div>
<!-- #include virtual=/shared_formato/multiservicio_07/formato_pagina/multiservicio_end_login.asp-->
<!-- #include virtual=/shared_formato/multiservicio_07/formato_pagina/multiservicio_bootstarp.asp-->
<%
'DESTRUYE OBJETOS
'-----------------------------------------------------------------------------------------------------------------------------------------------
set rs_Resultados_Seguimiento = Nothing
%>

错误显示在第124行,提示:

  

ADODB.Recordset错误'800a0e78'

     

如果对象已关闭,则不允许执行该操作。

     

第124行

第124行标有*

2 个答案:

答案 0 :(得分:1)

由于产生错误的行是使用记录集的第一行,因此我只能假设您在Session("tipo_busqueda_predio")中测试的会话变量select case既不是1也不是3,这会导致记录集无法打开。 测试该会话变量的内容,或使用case else

答案 1 :(得分:0)

您需要提供一个连接字符串才能使其正常工作。

尝试类似的操作:(我假设您使用的是SQL Server,如果没有,请查看connectionstrings.com以了解如何打开连接)

<%            
      Dim conn, RS

      Set conn = Server.CreateObject("ADODB.Connection")

      conn.Open "Provider=SQLOLEDB; Data Source = (local); Initial Catalog = databaseName; User Id = username; Password=mypass"

      If clng(var_tipo_busqueda_predio) = 1 Then
            sql = "SELECT dbo_seguimiento_certificado.codigo_seguimiento_certificado, " &_
                  "dbo_estado_certificado.nombre_estado_certificado, "&_
                  "dbo_cip.codigo_unico_certificado, dbo_cip.descripcion_certificado, dbo_cip.nombre_solicitante_certificado, dbo_cip.fecha_ingreso_certificado," &_
                  "dbo_predios.codigo_manzana_predio, dbo_predios.codigo_lote_predio" &_
                  "dbo_funcionarios.nombre_completo_funcionario+' '+dbo_funcionarios.apellido_completo_funcionario as Nombre_Funcionario" &_
                  "FROM dbo_estado_certificado " &_
                  "INNER JOIN   dbo_seguimiento_certificado ON dbo_estado_certificado.codigo_estado_certificado = dbo_seguimiento_certificado.codigo_estado_certificado" &_
                  "INNER JOIN   dbo_cip ON dbo_seguimiento_certificado.codigo_unico_certificado = dbo_cip.codigo_unico_certificado" &_
                  "INNER JOIN dbo_funcionarios ON dbo_cip.codigo_unico_funcionario = dbo_funcionarios.codigo_unico_funcionario" &_
                  "INNER JOIN dbo_predios ON dbo_cip.codigo_unico_predio = dbo_predios.codigo_unico_predio" &_
                  "WHERE dbo_predios.codigo_manzana_predio=" & Clng(Session("codigo_manzana_busqueda")) & " AND dbo_predios.codigo_lote_predio=" & Clng(Session("codigo_lote_busqueda"))


      Else
           sql = "SELECT dbo_seguimiento_certificado.codigo_seguimiento_certificado, " &_
                 "dbo_estado_certificado.nombre_estado_certificado, "&_
                 "dbo_cip.codigo_unico_certificado, dbo_cip.descripcion_certificado, dbo_cip.nombre_solicitante_certificado, dbo_cip.fecha_ingreso_certificado," &_
                 "dbo_predios.codigo_manzana_predio as nvarchar, dbo_predios.codigo_lote_predio," &_
                 "dbo_funcionarios.nombre_completo_funcionario+' '+dbo_funcionarios.apellido_completo_funcionario as Nombre_Funcionario" &_
                 "FROM dbo_estado_certificado " &_
                 "INNER JOIN dbo_seguimiento_certificado ON dbo_estado_certificado.codigo_estado_certificado = dbo_seguimiento_certificado.codigo_estado_certificado" &_
                 "INNER JOIN dbo_cip ON dbo_seguimiento_certificado.codigo_unico_certificado = dbo_cip.codigo_unico_certificado" &_
                 "INNER JOIN dbo_funcionarios ON dbo_cip.codigo_unico_funcionario = dbo_funcionarios.codigo_unico_funcionario" &_
                 "INNER JOIN dbo_predios ON dbo_cip.codigo_unico_predio = dbo_predios.codigo_unico_predio" &_
                 "WHERE dbo_seguimiento_certificado.codigo_seguimiento_certificado=" & Clng(Session("codigo_seguimiento_certificado")),cn_body,1,1


     End if

     Set RS = conn.Execute(sql)

     If Not RS.EOF Then
          Do Until RS.EOF
%>
    <%= RS("codigo_seguimiento_certificado") %> <br />
<%
                RS.MoveNext
          Loop
      End If

      Set conn = Nothing        
%>