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

variables variables

Estas en el tema de variables variables en el foro de ASP Clásico en Foros del Web. hola, estoy intentando crear varios arrays dinamicamente pero me peta en la linea que declaro el array. Alguna idea, yo soy nuevo en esto. Este ...
  #1 (permalink)  
Antiguo 27/04/2006, 05:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
variables variables

hola,
estoy intentando crear varios arrays dinamicamente pero me peta en la linea que declaro el array.
Alguna idea, yo soy nuevo en esto.

Este es el codigo:
Código:
dim numArray
for numArray = 1 to 31
sql="SELECT * FROM TPRODUCTO where IDTIPOPRODUCTO="&numArray Set rs=CreateObject("ADODB.Recordset") rs.CursorType=1 rs.Open sql, con dim [pro&numArray]() redim [pro&numArray](rs.recordcount) i=0 do while not rs.EOF
[pro&numArray](i)=rs("NOMBRE") response.write([pro&numArray](i)&"<br>") i=i+1 rs.movenext
loop rs.Close set rs=nothing response.write("<br>")
next
  #2 (permalink)  
Antiguo 27/04/2006, 05:40
 
Fecha de Ingreso: abril-2006
Ubicación: Bizkaia
Mensajes: 70
Antigüedad: 18 años, 1 mes
Puntos: 0
Aupa Dsandar, haber si te sirve esto:
<code>


sql="SELECT * FROM TPRODUCTO where IDTIPOPRODUCTO="&numArray
Set rs=CreateObject("ADODB.Recordset")
rs.CursorType=1
rs.Open sql, con

if not rs.eof then
numElem =rs.recordcount
'Definicion del array
redim preserve numArray(numElem)
c=0
do while not rs.eof
numArray(i)=rs("NOMBRE")

c= c+1
rs.movenext
loop
else
numero_contactos= 0
end if
cerrarRS(rs)
</code>
  #3 (permalink)  
Antiguo 27/04/2006, 05:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
no me he explicado bien

lo que necesito es poder hacer n arrays con el nombre que se crea dinamicamente gracias a la variable num Array, no se si me explico
  #4 (permalink)  
Antiguo 27/04/2006, 10:59
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, hay varias cosas que puedes hacer, la verdad no entiendo por qué te quieres meter en tantos problemas, a lo mejor si explicas un poco más, te podamos ayudar a resolver esto de otra manera, pero para comenzar veo que ya sabes cuantas veces iterará tu ciclo, a partir de ahí lo que quieres es hacer arrays dinámicos, lo que podrías hacer, es:

1. Crear un array de 30 índices(0-30)
2. Dentro del for, abres tu recordset, y guardas el contenido de ese recordset en cada el índice correspondiente (numArray -1) del arreglo, separado por comas
3. Cuando termine tu for, iterarás tu arreglo y por cada índice, si su contenido es <> "", puedes hacer un arreglo = split(arr(i), ",")


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 28/04/2006, 03:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
a ver si me explico mejor, tengo en la bbdd unos productos divididos por categorias. Quiero que me meta los productos de una misma categoria en un array. Y como puede que las categorias vayan variando, es por eso que quiero que se creen dinamicamente. Claro que ahora que pienso, podria crear un solo array y que en cada indice hubiese un array con todos los productos de una categoria. ¿Como hago eso?
  #6 (permalink)  
Antiguo 28/04/2006, 08:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Dsandar, nuevamente te pediria que te explicaras mejor, nosotros no podemos ver la estructura de tu base de datos ni lo que pretendes, haciendo tu problema más y más abstracto.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 17:56.