• Lunes 16 de Septiembre de 2019, 16:14

Autor Tema:  Resultado inesperado  (Leído 1680 veces)

bertamax

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Resultado inesperado
« en: Domingo 18 de Julio de 2010, 21:04 »
0
¿Por qué al ejecutar la siguiente aplicación no me devuelves los valores de la tabla, si no unos números muy raros?

<%@ page contentType="text/html"%>
<%@page import="java.io.*, java.sql.*"%>
<%@page session="true" errorPage="Error.jsp"%>

<%! int vReg;      %>
<%! int vPosicion;   %>

<%
if (request.getParameter("registros") != null)
         vReg = Integer.parseInt(request.getParameter("registros"));
      else
         vReg = 5;

      if (request.getParameter("posicion") != null)
         vPosicion = Integer.parseInt(request.getParameter("posicion"));
      else
         vPosicion = 1;
%>


<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="javascript">
   function paginar(pNumReg)
   {
      var vDestino = "paginacofertbalnearios.jsp?registros=" + pNumReg + "&posicion=1";
      window.location = vDestino;
   }
</script>

<style>
 BODY {
    text-align: center;
    background-color: #669933;
}
 TD, SELECT, OPTION {
    background-color: #CCFF99;
    font-size: 12px;
    color: #660099;
    border: 1px solid #CCFF66;
    font-family: tahoma;
 }
 TH {
    font-size: 14px;
    font-family: arial;
    text-align: center;
 }
A, A.link, A.visited {
   text-decoration: none;
   font-size: 12px;
   color: #660099;
       
}
A:hover {
   color: #660099;
}
 CENTRO {
    background-color: #660099;
    font-weight: bold;
    color: #FFFFFF;
 }
</style>
</HEAD>

<BODY LINK="red" ALINK="yellow" VLINK="red">
<table style="border: 1px solid #CCFF66; background-color: #669933; width: 600px;">
<tr>
   <td colspan="3" style="text-align: right; color: #000000; background-color: #CCFF99;">
   registros por pantalla   <select name="fNumRegistros" style="width: 50px;" onchange="paginar(this.value);">
      <%
      for (int i=5; i<=20; i+=5)
         {
             if (i == vReg)
         {
         %>
   <option value="<%= i %>" selected> <%= i %> </option>
         <%
         }
         else
         {
         %>
   <option value="<%= i %>"> <%= i %> </option>
      <%
      }
      }
      %>
   </select>
   </td>
</tr>
<tr><td colspan="3" style="background-color: #CCFF99; border: 0px;"> &nbsp; </td></tr>
<tr>
   <th colspan="3"> Listado de ofertas </th>
</tr>
<tr>
   <td class="CENTRO" style="width: 300px;">Ofertas</td>
   <td class="CENTRO" style="width: 225px;">Primera_salida</td>
   <td class="CENTRO" style="width: 225px;">Ultima_salida</td>
</tr>
<%
      Connection vConexion;
      Statement vSentencia;
      ResultSet vRegistros;
      String vConsulta;
      int vNumReg = 0;

      try
      {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
      catch(Exception e){out.println("Error en la carga del driver..."); }

      try
      {
         vConexion = DriverManager.getConnection("jdbc:odbc:balnearios_odbc", "sa", "12345");
         vSentencia = vConexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
         vConsulta = "select ofertas,primera_salida,ultima_salida from ofertas order by primera_salida;";
         vRegistros = vSentencia.executeQuery(vConsulta);

         vRegistros.last();
         vNumReg = vRegistros.getRow();
         vRegistros.absolute(vPosicion);

         for (int i=0; i<vReg && !vRegistros.isAfterLast(); i++)
         {
            %>
            <tr>
                                        <td> <a href="<%=vRegistros.getString(1)%>" target="_blank"><%=vRegistros.getString(2)%> </a></td>
               <td> <%=vRegistros.getString(3)%> </td>
                                        <%--<td> <%=vRegistros.getString(4)%> </td>--%>
            </tr>
            <%
            vRegistros.next();
         }
         
         %>
            <tr>
               <th colspan="3" style="text-align: right;">
         <%
         for (int p=0, j=1; p <= vNumReg-1; p += vReg, j++)
         {
            %>
               <a href="paginacofertbalnearios.jsp?registros=<%=vReg%>&posicion=<%=p+1%>"><%=j%></a> &nbsp;
            <%
         }
         %>
               </th>
            </tr>
         <%
         vConexion.close();
      }
      catch(SQLException e) {out.println(e.toString()); }
      catch(Exception e) {out.println(e.toString()); }
%>
         
</table>
</BODY>
</HTML>

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Resultado inesperado
« Respuesta #1 en: Jueves 29 de Julio de 2010, 16:34 »
0
a que tipo de número te refieres?, podrás mostrarnos, puedes también ponerle un alert() en la función e imprimir la variable pNumReg
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

bertamax

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Resultado inesperado
« Respuesta #2 en: Jueves 29 de Julio de 2010, 20:13 »
0
No lo entiendo

bertamax

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Resultado inesperado
« Respuesta #3 en: Jueves 29 de Julio de 2010, 20:21 »
0
El resultado es éste:

registros por pantalla
 
Listado de ofertas
Ofertas    Primera_salida    Ultima_salida
2007-11-04 00:00:00.000    2008-03-13 00:00:00.000
2007-11-06 00:00:00.000    2008-03-16 00:00:00.000
2007-11-19 00:00:00.000    2008-03-18 00:00:00.000
2007-11-22 00:00:00.000    2008-03-31 00:00:00.000
2007-11-26 00:00:00.000    2008-03-01 00:00:00.000
1   2   3   4   5

bertamax

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Resultado inesperado
« Respuesta #4 en: Jueves 29 de Julio de 2010, 20:25 »
0
Pongo

<script language="javascript">
   function paginar(pNumReg)
   {
      var vDestino = "paginacofertbalnearios.jsp?registros=" + pNumReg + "&posicion=1";
      window.location = vDestino;

                alert(pNumReg);
   }
</script>

Y la salida es la misma.

Gracias

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Resultado inesperado
« Respuesta #5 en: Jueves 29 de Julio de 2010, 23:41 »
0
fijate en esto a ver que tal.


Código: Text
  1. <html>
  2.     <head>
  3.         <script type="text/javascript">
  4.               function datos(dat){
  5.                  alert('valor '+dat);
  6.               }
  7.         </script>
  8.         <script type="text/javascript">
  9.             var i;
  10.              var a='<select id=sel name=sel onchange=datos(this.value)>n';
  11.              var b;
  12.              var c;
  13.             for( i=0;i<10;i++){
  14.              b+='<option id=idsel value='+i+'>valor '+i+'</option>n';
  15.              
  16.             }
  17.             c=a+b;
  18.             document.write(c);
  19.         </script>
  20.     </head>
  21.     <body>
  22.     </body>
  23. </html>
  24.  

de la forma como lo estás haciendo te va a mostar el display, y si lo que necesitas es el valor sería
Código: Text
  1. document.getElementById('sel').value
  2.  
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

bertamax

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Resultado inesperado
« Respuesta #6 en: Domingo 29 de Agosto de 2010, 16:49 »
0
Muchas gracias.

De esta manera me muestra el mismo resultado pero visualizado en dos filas.

Saludos,