No se si os gustará y no os pongais críticos que es la primera vez que escribo aquí
Función en ASP que devuelve un objeto Recordset con los valores de una determinada consulta. De esta forma te ahorras el tener que declararlo siempre.
Función:
Cita: Function AbrirConsulta(Query,Conexion)
'************************************************* ************************************************
'FUNCION QUE RECIBE LOS SIGUIENTES PARAMETROS:
' 1. QUERY.- VARIABLE DE TIPO STRING QUE RECIBE LA CONSULTA QUE SE DESEA REALIZAR SOBRE LA BBDD
' 2. CONEXION.- OBJETO CONEXIÓN A LA BASE DE DATOS.
'************************************************* ************************************************
'ESTA FUNCIÓN SE ENCARGA DE REALIZAR CONSULTAS A LAS BASES DE DATOS PUDIENDO DAR DOS RESULTADOS DISTINTOS:
' 1. NOTHING.- ENVIARA ESTE VALOR CUANDO LA CONSULTA NO MUESTRE RESULTADOS O BIEN CUANDO SE HAYA GENERADO ALGÚN
' ERROR. POR LO TANTO, EN CASO DE QUE EL VALOR SEA NOTHING SE DEBERÁ DE COMPROBAR SI
' HA EXISTIDO ALGÚN ERROR EN LA FUNCIÓN.
' 2. OBJETO RECORDSET.- DEVOLVERÁ EL OBJETO RECORDSET QUE TENDRÁ LOS RESULTADOS DE LA CONSULTA.
'************************************************* ************************************************
'EN RESUMEN, ESTA FUNCIÓN RECIBIENDO UNA CONEXIÓN Y UNA CONSULTA DESEADA DEVUELVE EL OBJETO RECORDSET CON
'LOS VALORES DE ESA CONSULTA.
Err.Clear 'LIMPIAMOS LOS POSIBLES ERRORES QUE PUEDAN HABERSE ORIGINADO ANTERIORMENTE
On Error Resume Next 'EN CASO DE QUE EXISTA ALGÚN ERROR DEJAMOS QUE SE SIGA EJECUTANDO EL CÓDIGO
Set RecGeneral = Server.CreateObject("ADODB.Recordset")
RecGeneral.Open Query,Conexion
If Err.Number <> 0 Then
'SE HA GENERADO UN ERROR Y POR TANTO DEVOLVEREMOS NOTHING
Set AbrirConsulta = Nothing
ElseIf RecGeneral.Eof And RecGeneral.Bof Then
'LA CONSULTA NO DEVUELVE NINGÚN RESULTADO
Set AbrirConsulta = Nothing
Else
'HEMOS RECUPERADO VALORES Y MANDAMOS EL RECORDSET
Set AbrirConsulta = RecGeneral
End If
End Function
Modo de utilización :
Cita:
Set RecDetalle= AbrirConsulta(Query,ConnIntranet)
If RecDetalle Is Nothing And Err.Number <> 0 Then
'HA OCURRIDO UN ERROR Y DEBEMOS DE COMPROBAR
ElseIf RecDetalle Is Nothing Then
'NO DEVUELVE RESULTADOS
Else
'HACEMOS LO QUE TENGAMOS QUE HACER
RecDetalle.Close
Set RecDetalle = Nothing
'ACORDARSE DE ESTO QUE SIEMPRE VIENE BIEN.
End If