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

como hacer variables dobles

Estas en el tema de como hacer variables dobles en el foro de ASP Clásico en Foros del Web. buenas saco de una base el valor: nombre = RS("nombre") y supongamos que quisiera hacerlo tantas veces como campos tiene la tabla. he provado esto: ...
  #1 (permalink)  
Antiguo 20/04/2002, 11:08
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
como hacer variables dobles

buenas

saco de una base el valor:
nombre = RS("nombre") y supongamos que quisiera hacerlo tantas veces como campos tiene la tabla.

he provado esto:

registros = 0
Do While NOT RS.EOF
registros = registros + 1
nombre" & registros & " = RS("nombre").Value
RS.Movenext
Loop

pero me da error
  #2 (permalink)  
Antiguo 20/04/2002, 11:17
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

i=0
Do While NOT RS.EOF
Nombre(i)=RS("nombre").Value
i=i+1
RS.Movenext
Loop

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #3 (permalink)  
Antiguo 20/04/2002, 12:08
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

me sigue dando error
tengo la pagina alojada en brinkster

probe definiendo la variable Dim nombre(i) pero me salio este error:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'nombre'
  #4 (permalink)  
Antiguo 20/04/2002, 12:25
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Declara así:

Dim Nombre()

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #5 (permalink)  
Antiguo 20/04/2002, 12:52
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

sigue dandome el mismo error
  #6 (permalink)  
Antiguo 20/04/2002, 12:56
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

mmm entonces intenta no declararla, y si sigue igual lo mas seguro es que tengas un error por ahi, muestranos el código

saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #7 (permalink)  
Antiguo 20/04/2002, 13:03
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

sSQL = &quot;SELECT * FROM Mensajes Where idTema Like '&quot; &amp; Request.Querystring(&quot;idTema&quot;) &amp; &quot;'&quot;
Set oRS = oConn.Execute(sSQL)

Dim icono()
dim i
i = 0
Do While NOT oRS.EOF
icono = oRS(&quot;icono&quot;).Value
icono(i) = icono
i = i + 1
oRS.Movenext
Loop

Response.Write (icono(i))
  #8 (permalink)  
Antiguo 20/04/2002, 13:19
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Pues yo lo haría así:

sSQL = &quot;SELECT * FROM Mensajes Where idTema Like '&quot; &amp; Request.Querystring(&quot;idTema&quot;) &amp; &quot;'&quot;
Set oRS = oConn.Execute(sSQL)

Dim icono()
Dim i
i = 0
Do While NOT oRS.EOF
icono(i) = oRS(&quot;icono&quot;).Value
i = i + 1
oRS.Movenext
Loop

y como te mencione anteriormente si te sigue mandando error quita las dos líneas de Dim

Saludos
Response.Write (icono(i))


<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #9 (permalink)  
Antiguo 20/04/2002, 14:36
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

lsigue dando error aunque quite los DIM
  #10 (permalink)  
Antiguo 20/04/2002, 15:19
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Shiales ,pues date un tiro

estas seguro que el error te da en el código que yo te di?

Postea el error que te manda el explorador, junto con la línea en que te lo manda. Por lo q veo en tú código puede ser que lo que este mal sea la Query.

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #11 (permalink)  
Antiguo 20/04/2002, 16:41
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

ya se cual era el problema:

si escribia un valor no numerico daba error pero si escribia

Dim icono(0) o Dim icono(1), etc no daba error.

¿Cómo puedo poner una variable sin que de error?
  #12 (permalink)  
Antiguo 20/04/2002, 16:46
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Hola,

Lo que decimos por medio de esto

Dim icono()

Es que icono es un arreglo de tamaño dinámico, ahora bien si tu le pones Dim icono(1) icono solo te dejara guardar dos valores icono(0) e icono(1) es por ello que entre los parentesis no ponemos el tamaño del arreglo para que este tenga n número de elementos que es lo que tu estas creando, es decir creas un arreglo dinámico dependiendo del numero de registros que te regresa tu Query.

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #13 (permalink)  
Antiguo 20/04/2002, 17:02
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

escribi este codigo pero me sigue dando error:

&lt;%


' DATOS DEL MENSAJE

Set oConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
oConn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\elrincondelloco\db\lamarujad elcervantes_foro.mdb&quot;))

sSQL = &quot;SELECT asunto FROM Mensajes&quot;
Set oRS = oConn.Execute(sSQL)

Dim asunto()
Dim i
i = 0

Do While NOT oRS.EOF
asunto(i) = oRS(&quot;asunto&quot;).Value
i = i + 1
oRS.Movenext
Loop

Do While NOT i = 0
i = i - 1
Response.Write(asunto(i))
Response.Write(&quot;&lt;br&gt;&quot;)
Loop

oConn.Close
Set oRS = Nothing
Set oConn = Nothing
%&gt;
  #14 (permalink)  
Antiguo 20/04/2002, 17:17
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Deberias colocar el error que te manda y la linea

Al menos por lo que veo, cambia esto:

Do While NOT i = 0
i = i - 1
Response.Write(asunto(i))
Response.Write(&quot;&lt;br&gt;&quot;)
Loop

por esto:

For i=0 to Ubound(ASunto)
Response.Write asunto(i)
Response.Write &quot;&lt;br&gt;&quot;
Next

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #15 (permalink)  
Antiguo 20/04/2002, 17:23
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'asunto'

line 15
  #16 (permalink)  
Antiguo 20/04/2002, 17:33
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Cual es la línea 15 en tu código?


<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #17 (permalink)  
Antiguo 20/04/2002, 17:44
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

inserto este codigo:



&lt;%


' DATOS DEL MENSAJE

Set oConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
oConn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\elrincondelloco\db\lamarujad elcervantes_foro.mdb&quot;))

sSQL = &quot;SELECT asunto FROM Mensajes&quot;
Set oRS = oConn.Execute(sSQL)

Dim asunto()
Dim i
i = 0

Do While NOT oRS.EOF
asunto(i) = oRS(&quot;asunto&quot;).Value
i = i + 1
oRS.Movenext
Loop

Do While NOT i = 0
i = i - 1
Response.Write(asunto(i))
Response.Write(&quot;&lt;br&gt;&quot;)
Loop

oConn.Close
Set oRS = Nothing
Set oConn = Nothing
%&gt;


y me sale en el mensaje de error:


Microsoft VBScript runtime error '800a0009'

Subscript out of range

line 17


la linea 17 es esta:
asunto(i) = oRS(&quot;asunto&quot;).Value
  #18 (permalink)  
Antiguo 20/04/2002, 17:47
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: como hacer variables dobles

Bueno pues ese error yo lo he sufrido varias veces y lo he solucionado al quitar la declaraciones es decir quitando las lineas de los DIMS

y Bueno ya te dije que esto lo tienes que modificar

Do While NOT i = 0
i = i - 1
Response.Write(asunto(i))
Response.Write(&quot;&lt;br&gt;&quot;)
Loop

Bueno ahora si me retiro, espero que te funcione.

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #19 (permalink)  
Antiguo 20/04/2002, 18:16
 
Fecha de Ingreso: marzo-2002
Mensajes: 37
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como hacer variables dobles

muchas gracias. este es el codigo que funciona:


&lt;%


' DATOS DEL MENSAJE

Set oConn = Server.CreateObject(&quot;ADODB.Connection&quot;)
oConn.Open(&quot;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=&quot; &amp; Server.MapPath(&quot;\elrincondelloco\db\lamarujad elcervantes_foro.mdb&quot;))

sSQL = &quot;SELECT * FROM Mensajes&quot;
Set oRS = oConn.Execute(sSQL)

Dim asunto(1000)
i = 0

Do While NOT oRS.EOF
i = i + 1
Response.Write(i)
Response.Write(&quot;&lt;br&gt;&quot;)
asunto(i) = oRS(&quot;asunto&quot;).Value
oRS.Movenext
Loop

Do While NOT i = 0
i = i - 1
Response.Write(asunto(i))
Response.Write(&quot;&lt;br&gt;&quot;)
Loop

oConn.Close
Set oRS = Nothing
Set oConn = Nothing
%&gt;


le he asignado el valor 1000 - no creo que la tabla llegue a alcanzar los 1000 registros
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 08:24.