Foros del Web » Programando para Internet » ASP Clásico »

Problema con RecorSet (error 0x800A01C2), ayuda urgente por favor!!!

Estas en el tema de Problema con RecorSet (error 0x800A01C2), ayuda urgente por favor!!! en el foro de ASP Clásico en Foros del Web. Holas: Me encuentro desarrollando un sistema en ASP, y para optimizar el desarrollo estoy creando funciones que realicen las consultas a la bdd, el problema ...
  #1 (permalink)  
Antiguo 24/10/2005, 09:27
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 10 meses
Puntos: 2
Problema con RecorSet (error 0x800A01C2), ayuda urgente por favor!!!

Holas:

Me encuentro desarrollando un sistema en ASP, y para optimizar el desarrollo estoy creando funciones que realicen las consultas a la bdd, el problema es que invariablemente siempre obtengo el siguiente error:

-------------------------------------------------------------------
Error de Microsoft VBScript en tiempo de ejecución (0x800A01C2)
Número de argumentos erróneo o asignación de propiedad no válida
/endesa/mod_usuarios/admin_perfiles.asp, line 144
-------------------------------------------------------------------


El codigo de la pagina admin_perfiles.asp viene a ser el siguiente:

-------------------------------------------------------------------
dim cols, from, where, order, group
dim objRsetAcciones

cols = "id_accion_sistema, nombre_accion_sistema"
from = "accion_sistema"
where = empty
order = "id_accion_sistema ASC"
group = empty

objRsetAcciones = bddSelect( cols, from, where, order, group, conn, 2, 2 )
-------------------------------------------------------------------

Donde la ultima linea es la 144 (que produce el error)

El codigo de la funcion bddSelect esta en un archivo que incluyo dentro del archivo admin_perfiles.asp mediante un <!--#include--> y es el siguiente:

-------------------------------------------------------------------
function bddSelect( columnas, from, where, order, group, rsConn, rsCursortype, rsLockType )
dim strCols, strFrom, strWhere, strOrder, strGroup, strSelect
dim objRset

set objRset = server.createobject("ADODB.RecordSet")

if not ( isempty(columnas) ) then
strCols = "SELECT " & columnas
end if

if not ( isempty(from) ) then
strFrom = "FROM " & from
end if

if not ( isempty(where) ) then
strWhere = "WHERE " & where
end if

if not ( isempty(order) ) then
strOrder = " ORDER BY " & order
end if

if not ( isempty(group) ) then
strGroup = "GROUP BY " & group
end if

strSelect = strCols & " " & strFrom & " " & strWhere & " " & strOrder & " " & strGroup
objRset.Source = strSelect
objRset.CursorType = rsCursorType
objRset.LockType = rsLockType
objRset.ActiveConnection = rsConn
objRset.Open
bddSelect = objRset
end function
-------------------------------------------------------------------

Bueno y eso es, se cae no tengo idea por qué, ayudenme por favor que esto me tiene perdiendo valioso tiempo.

De antemando muchisimas gracias, salu2...

rodrigo
  #2 (permalink)  
Antiguo 24/10/2005, 10:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 10 meses
Puntos: 2
Solucionado

Ok, hice algunos arreglos por aqui y por allá y funciono perfecto:

1º cree el recordset antes de llamar a la funcion


2º la funcion ahora es un procedimiento al que le paso el nombre del recordset por referencia, asi que el codigo queda así:

--------------------------------------------------------------------------
sub bddSelect( columnas, from, where, order, group, byref objRset, rsConn, rsCursortype, rsLockType )
...
...
objRset.Source = strSelect
objRset.CursorType = rsCursorType
objRset.LockType = rsLockType
objRset.ActiveConnection = rsConn
objRset.Open
--------------------------------------------------------------------------


3º invoco al procedimiento con lo siguiente y listo!!!

--------------------------------------------------------------------------
set objRset = server.createobject("ADODB.RecordSet")

cols = "id_accion_sistema, nombre_accion_sistema"
from = "accion_sistema"
where = empty
order = "id_accion_sistema ASC"
group = empty
bddSelect cols, from, where, order, group, objRset, conn, 2, 2
--------------------------------------------------------------------------


Eso es, espero que le sirva a alguien más que a mi mismo, salu2, rodrigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:20.