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

problemas con do while

Estas en el tema de problemas con do while en el foro de ASP Clásico en Foros del Web. Hola llevo varios dias con el problema de do while el codigo esta bien por que lo coji de uno que me disteis pero no ...
  #1 (permalink)  
Antiguo 26/07/2008, 11:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
problemas con do while

Hola llevo varios dias con el problema de do while el codigo esta bien por que lo coji de uno que me disteis pero no me funciona y no se que hacer ya por que lo he puesto de todas las formas que se, yo se sacar un valor concreto de una base de datos pero cuando quiero sacar por ej 2 se que tengo que realizar un bucle pero no se por que da error. Os pongo el codigo para ver si me podeis ayudar por que tengo varios link que necesito que el bucle while funcione para extraer los datos que sean necesarios.


codigo:

else
{
do while (!result.eof){
var tipo = result("tipo");
%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(tipo)%>">
<%var cantidad=result("cantidad");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(cantidad)%>">
<%var descripcion=result("descripcion");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(descripcion)%>">
<%var precio = result("precio");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(precio)%>">
<% result.movenext();
Loop
}
}

Cuando lo pongo asi el error dado es que "se esperaba un while".
Si lo pongo Do While el error dado es que "se esperaba un ;"

Y la verdad es que no tengo ni idea de como arreglar esto pero me es imprescindible arreglarlo para poder seguir con mi proyecto ya que varias paginas dependen de que el do while me funcione. Gracias
  #2 (permalink)  
Antiguo 26/07/2008, 12:00
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: problemas con do while

Do...while...loop
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 27/07/2008, 08:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: problemas con do while

Pero entonces lo que yo kiero es solo un mientras no??
xk solo kiero kmientras haya algun resultado me lo muestra hasta fin, pero el do no le encuentro para que debo ponerlo entonces solo debo poner

while.....


loop
?????
  #4 (permalink)  
Antiguo 28/07/2008, 09:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Respuesta: problemas con do while

Una sentencia do...while loop va a entrar la primera vez y permanecerá en tanto la condición sea verdadera en tanto que una sentencia while, entrará solo si la condición es verdadera, a mi me suena más como que tu necesitas un while:

Código:
while (result.EOF == false)
{
    .
    .
    .
   result.MoveNext
   if (result.EOF == true)
      break;
}
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/07/2008, 10:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: problemas con do while

Yo me lo imaginaba y llevo toda la tarde buscando como usar correctamente el while hasta que me a dejado de dar problemas pero ahora me da otro error pero no en el codigo sino en un try de mi codigo por que no entra y va del tiron al cacth, os pongo el codigo entero y haber si me podeis ayudar por que me lanza ese error por que estado probando varias cosas y nada:


codigo::



var cadenaConexion = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" +Server.MapPath("basedatos/bd.mdb");
var sql,result= Server.CreateObject("ADODB.Recordset");


try{
conexion= Server.CreateObject("ADODB.Connection");//inicializamos la variable de conexion
conexion.open(cadenaConexion);//establecemos la comunicacion con la BD
}
catch(e){//tratamiento de posible errores
Response.Write ("<h2>Error1:</h2>");
Response.Write ("<b>" + e.description + "</b>");
Response.End();
}

try{
var nick = Session("nick");



sql="SELECT * FROM articulos WHERE nick= '"+nick+"'";


conexion.BeginTrans();
result.Open(sql, conexion);

if(result.eof)
{

Response.Write("Usted no ha realizado ningun pedido en Animalandia.com")
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
else
{

While(result.EOF == false)
var tipo = result("tipo");
%><input type="text" name="txtense" id="txtense" size="25%" readonly value="<%Response.write(tipo)%>"><%
var cantidad=result("cantidad");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(cantidad)%>">
<%var descripcion=result("descripcion");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(descripcion)%>">
<%var precio = result("precio");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(precio)%>">
<%
result.movenext();

Wend

}
}
catch(e){//posible fallo en la BD
Response.Write ("<h2 align=center >Error2:</h2>");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write("<h4 align=center ><button onclick='history.back()'>Volver</button></h4>");
Response.End();
}
%>

El error que me da muestra Se esperaba un objeto y es por que entra en el cacth que muestro en negrita he mirado que la sentencia sql este bien y me pilla bien la variable nick asi que no se por que no ejecuta.

Otra cosa que me he dado cuenta es que el fallo probablemente venga del while pues si no lo pongo me muestra el 1º resultado de la base de datos, es decir si pongo el siguiente codigo no tengo problemas y la pagina funciona perfecto pero claro si es un historial debe aparecer toda compra realizada por quien sea:

codigo que funciona bien:

else
{

var tipo = result("tipo");
%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(tipo)%>">
<%var cantidad=result("cantidad");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(cantidad)%>">
<%var descripcion=result("descripcion");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(descripcion)%>">
<%var precio = result("precio");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(precio)%>">
<% }

muestro donde tengo el problema seguramente y el resto es el anterior cambiando el else.
  #6 (permalink)  
Antiguo 28/07/2008, 11:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Respuesta: problemas con do while

Esto detecte por el momento a reserva de que haya otra cosa mal, realmente ayudaria si pusieras la descripcion del error completo y solamente el codigo funcional encerrado entre las etiquetas code. Tambien, jscript es case sensitive no? utiliza minuscula en el while y no estoy seguro de que lleve wend.

Código:
While(result.EOF == false)
//si este es un bloque de instrucciones necesitas la llave
{
var tipo = result("tipo");
%><input type="text" name="txtense" id="txtense" size="25%" readonly value="<%Response.write(tipo)%>"><%
var cantidad=result("cantidad");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(cantidad)%>">
<%var descripcion=result("descripcion");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(descripcion)%>">
<%var precio = result("precio");%>
<input type="text" name="txtense" id="txtense" size="25%" readonly value="<%response.write(precio)%>">
<%
result.movenext();
//si este es un bloque de instrucciones necesitas la llave
}
Wend
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 28/07/2008, 11:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: problemas con do while

Siiiiiiiiiiiiiiiiiiii, salio.
Creo que el error seria por While en mayusculas y por no poner las llaves pero despues de ver todos los manuales y ver que no ponian llave imagine que seria asi. Gracias a todos.
  #8 (permalink)  
Antiguo 28/07/2008, 11:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Respuesta: problemas con do while

JScript es uno de los tantos hijos de c, para instrucciones con una sola linea no es necesaria la llave, pero si lleva un bloque de instrucciones debes ponerla.

Código:
while ( i < 10 )
   instruccion1;

while ( i < 10 )
{
   instruccion1;
   instruccion2;
}
Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 29/07/2008, 09:44
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: problemas con do while

que ignorante!
primera vez que veo esto.

Este codigo se ejecuta en el servidor?
para ejecutarlo, ¿se guarda con extencion asp?
Siendo hijo de C, tiene polimorfismo?

:S
  #10 (permalink)  
Antiguo 29/07/2008, 10:57
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Respuesta: problemas con do while

Cita:
Iniciado por Muzztein Ver Mensaje
que ignorante!
primera vez que veo esto.

Este codigo se ejecuta en el servidor?
para ejecutarlo, ¿se guarda con extencion asp?
Siendo hijo de C, tiene polimorfismo?

:S
No entendí nada ¿podrías elaborar?

Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 29/07/2008, 16:17
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: problemas con do while

nevermind
http://en.wikipedia.org/wiki/JScript

  #12 (permalink)  
Antiguo 29/07/2008, 17:10
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Respuesta: problemas con do while

La verdad, la verdad pensé que era algo capcioso, por eso pregunté :p
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #13 (permalink)  
Antiguo 29/07/2008, 21:32
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: problemas con do while

Cita:
Iniciado por u_goldman Ver Mensaje
La verdad, la verdad pensé que era algo capcioso, por eso pregunté :p
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 16:12.