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

Ayuda con Array

Estas en el tema de Ayuda con Array en el foro de ASP Clásico en Foros del Web. Tengo el siguiente problema, Me gustaria meter en un array el resultado de una sentencia , pero no se como hacerlo. Haber si me podeis ...
  #1 (permalink)  
Antiguo 04/08/2004, 14:05
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 21 años
Puntos: 0
Ayuda con Array

Tengo el siguiente problema,
Me gustaria meter en un array el resultado de una sentencia , pero no se como hacerlo.
Haber si me podeis ayudar pq no lo consigo.

Graciasss
  #2 (permalink)  
Antiguo 04/08/2004, 14:35
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
arreglo_sqlsentence(veces)="select ["& ob_rs("linea")& "].clave_interna, ["& ob_rs("linea")& "].clave_set_by_user from ["& ob_rs("linea")& "] where ["& ob_rs("linea")& "].inventario "& Request.Form("criterio") & cdbl(Request.Form("existencia"))

'veces=El valor máximo del array.es decir saber cuantos elemntos hay para saber el numero de iteraciones.

do while repeateachtable<=veces
sql=arreglo_sqlsentence(repeateachtable)
ob_rs.Open sql,cl
do until ob_rs.EOF
'Instrucciones...
ob_rs.close
repeateachtable=repeateachtable+1
loop
loop

Por ejemplo, tengo ua base de datos que tiene x numero de tablas, porque cada tabla es una linea y la verdad no se cuantas existan, por lo que en una tabla guarda el control y despues voy haciendo busquedas segun el criterio del usuario.

Asi d esa forma es util manejar arreglos que guarden sentencias sql.

  #3 (permalink)  
Antiguo 04/08/2004, 15:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
UnArray = ElRecordset.GetRows
__________________
...___...
  #4 (permalink)  
Antiguo 04/08/2004, 22:35
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 21 años
Puntos: 0
que es repeateachtable, no lo entiendo,
gracias por las respuestas
  #5 (permalink)  
Antiguo 04/08/2004, 22:54
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
repeateachtable es sólo una "variable" (lo que yo no entiendo es todo ese código que te pasó orharo2003, no me puse a intentar comprenderlo)

Pero si tu intención es meter el resultado de una sentencia (supongo que SQL, o sea de un recordset) en un array, entonces hacé uso de GetRows. Más fácil imposible
__________________
...___...
  #6 (permalink)  
Antiguo 05/08/2004, 11:54
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
jejeje.

Haber, vamos por orden, de antemano una disculpa pero entendí mal que es lo que querias, en verdad entendí que querías guardar las sentencias en arreglos , No lei bien

Vamos por pasos:

1.- ¿guardar los resultados en un arreglo no?
2.- Utilizar getrows()
3.- Recorrer el arreglo bidimensional

Mas detallado:

' En esta variable guardamos el arreglo [el resultado de la sentencia]
Dim aTable1Values

' una instruccion cualquiera...
sql="select * from ordenes order by documento asc"
ob_rs.Open sql,cl


Pasamos todo al arreglo....
aTable1Values = ob_rs.GetRows()

'liberamos ya... que alivio!!!
set ob_rs=nothing
set cl=nothing ' esta es la conexión....


'algunas constantes, que en realidad serán los campos, es más fácil así ya que nos confundiriamos.


const status=3


'obtenemos el Numero máximo de filas
max=UBound(aTable1Values, 2)

'vamos iterando x cada columna
For iRowLoop = 0 to max
response.write "El estatus es " & Table1Values(status, iRowLoop) & "<br>"
next


En resumen, se guarda en un arrglo de 2 dimensiones el resultado...
la primera dimensión se guardan los campos, osea que en vez de poner

Table1Values(status, iRowLoop)

podríamos poner....

Table1Values(3, iRowLoop)

El 3 es el número que ocupa el campo en la B.D.



La segunada dimensión te guarda las filas.... y recuerda que la primera las columnas de tu B.D.

Suerte
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 12:28.