VB怎么将ADODB.Recordset取的表付到本地变量里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB怎么将ADODB.Recordset取的表付到本地变量里相关的知识,希望对你有一定的参考价值。
Dim rs As New ADODB.Recordset
rs.Open "select * from a ", cnxn, 1, 1
有张表a,是公共表,程序随时要查询a信息
但数据库是放在远程的SQL2000,如果网络一断,那么再进行rs查询操作会报错
我现在想,在程序登陆的时候,就把a读进本地VB的变量中
用什么变量临时保存a比较合适,比如"临时表变量"(除了用本地数据库的方法,如ACCESS)
最好有代码例子.
dim i as long
dim j as long
使用MSHFLEXGRID控件将数据读到控件中后
i=mshflexgrid1.rows-1
j=mshflexgrid1.cols-1
redim a(i,j)
dim x as long
dim y as long
for x=0 to i
for y=0 to j
a(i,j)=mshflexgrid1.textmetrix(i,j)
next
next
可将数据读到数组中,但如果表中有日期格式数据,此方法不可用 参考技术A a=rs.filed(0)
Recordset说它已关闭,但我不相信我有
我一直在处理一个记录集对象的问题,该对象表示它在关闭代码行之前已关闭。我将在下面发布代码
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">×</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标有一些*
。
由于产生错误的行是使用您的记录集的第一行,我只能假设您在Session("tipo_busqueda_predio")
中测试的会话变量select case
既不是1也不是3,这会导致记录集无法打开。测试该会话变量的内容,或使用case else
。
您需要提供一个连接字符串才能工作。
尝试类似:(我假设您使用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
%>
以上是关于VB怎么将ADODB.Recordset取的表付到本地变量里的主要内容,如果未能解决你的问题,请参考以下文章
无法将“ADODB.Recordset”类型的对象转换为“MSDATASRC.DataSource”类型
一个关于在VB中将Recordset 读出的内容放到一个数组变量中的问题!!