• Martes 12 de Noviembre de 2024, 21:09

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - gamarin

Páginas: [1]
1
JSP/Servlets / Re: Como Almacenar El Resulset En Un Vector
« en: Viernes 15 de Octubre de 2004, 18:13 »
Hola.. amigos.... :hola:

lo que pasa es que dspues de que autentifique al usuario, tengo que hacerle 4 preguntas, para lo cual hay una tabla en la BD que ya contiene 10 campos "preguntas" (edad, peso, estatura,curp, etc..)y sus respectivas respuestas por lo que despues de autentificar al usuario, se debe ejecutar el servlet de preguntas, asi que el resulSet que se tiene de la consulta necesito almacenarlo en un vector, esto con la finalidad de que solo una vez haga conexion ala BD, pues necesito darle tres oportunidades al usuario de contestar bien las preuntas que le presente. ( como preguntas considero los metadatos de la tabla " edad, peso, estatura, curp. etc")  

alguna otra sugerencia para hacer esto?..



espero sus respuestas..

saludos... :kicking:

2
JSP/Servlets / Como Almacenar El Resulset En Un Vector
« en: Jueves 14 de Octubre de 2004, 17:41 »
Hola, a todos... que tal como estan?..
por aqui molestandolos denuevo...

Tengo unas dudas...
1. quisiera saber como se almacenaria el resulSet obtenido de una consulta a un Vector?
2. Como puedo recorrer el Vector para ver su contenido?
3. Deacuerdo al codigo que pondo abajo, obtengo 4 numeros aleatorios los cuales me sirven para mandar apantalla los metados (que representan para el usuario preguntas) que corresponda las posisciones que me arroja el arreglo de numeros aleatorios. Pero, ¿Como puedo hacer para que las respuestas que me de el usuario, las pueda comparar con las respuestas que estarian almacenadas en el vector? ya que no quiero hacer acceso ala base de datos, por eso quiero almacenar en vector el resulset.
4. al usuario le daria 3 oprtunidades, en caso de que me falle una de las 4 preguntas, entonces que el sistema le mande un mensaje de "acceso denegado"..

CODIGO...
import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class preguntas extends HttpServlet
{
static final String connect_string = "jdbc:postgresql://localhost/votos2";
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String control2= request.getParameter("valor1");
response.setContentType("text/vnd.wap.wml");
PrintWriter out = response.getWriter();
Connection conn=null;
Statement st = null;
try
{
// Carga del driver JDBC
Class.forName("org.postgresql.Driver");
// Conexiòn con la base de datos
if (conn != null)
{
conn.close();
}
conn = DriverManager.getConnection (connect_string,"postgres","");
conn.setAutoCommit(true);
}catch (Exception e)
{
out.println("<wml>");
out.println("<card id=\"card16\">");
out.println("<p>");
out.println("<br>error"+e);
out.println("</br>");
out.println("</p>");
out.println("</card>");
out.println("<wml>");
}
try
{
Statement stmt = conn.createStatement();
ResultSet conjuntoResultados=stmt.executeQuery("SELECT * FROM preguntas where no_ctrl=\'"+control2+"\'");
ResultSetMetaData metaDatos = conjuntoResultados.getMetaData();
int numeroDeColumnas = metaDatos.getColumnCount();
int alea[] = new Numero().getAleatorios(4,10);
out.println("<wml>");
out.println("<card id=\"card18\">");
out.println("<p>");

for (int i=0; i < alea.length; i++)
{
switch(alea)
{
case 3:
out.println("<small>");
out.println(metaDatos.getColumnName(3)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*N\" name=\"edad\" maxlength=\"2\"/>");
break;
case 4:
out.println("<small>");
out.println(metaDatos.getColumnName(4)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*N\" name=\"no_telefono\" maxlength=\"10\"/>");
break;
case 5:
out.println("<small>");
out.println(metaDatos.getColumnName(5)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"direccion\" maxlength=\"10\"/>");
break;
case 6:
out.println("<small>");
out.println(metaDatos.getColumnName(6)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*N\" name=\"c_p\" maxlength=\"5\"/>");
break;
case 7:
out.println("<small>");
out.println(metaDatos.getColumnName(7)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"ciudad\" maxlength=\"10\"/>");
break;
case 8:
out.println("<small>");
out.println(metaDatos.getColumnName(8)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*N\" name=\"estatura\" maxlength=\"4\"/>");
break;
case 9:
out.println("<small>");
out.println(metaDatos.getColumnName(9)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"deporte_favorito\" maxlength=\"10\"/>");
break;
default:
out.println("<small>");
out.println(metaDatos.getColumnName(10)+ ":");
out.println("</small>");
out.println("<input type=\"texto\" format=\"*M\" name=\"curp\" maxlength=\"18\"/>");
}
}
out.println("</p>");
out.println("</card>");
out.println("</wml>");
}catch (Exception e)
{
out.println("<wml>");
out.println("<card id=\"card27\">");
out.println("<p>");
out.println("<br>error ==> "+e);
out.println("</br>");
out.println("</p>");
out.println("</card>");
out.println("</wml>");
}
out.close();
}
public String getServletInfo() {
return "Descripción";
}
public void destroy()
{
}
}



***** PORFAVOR NECESITO DE SU AYUDA...*****



SALUDOS : :huh:  :lol:  ayuda plis

3
JSP/Servlets / Re: Generar Preguntas
« en: Martes 28 de Septiembre de 2004, 19:58 »
Ups,,,  bueno, lo que pasa es que los metadatos y datos son los que metere al vector.  Los metadatos  que son 12, la primera vez que el usuario entre  se le presentaran 5 metadatos (preguntas)  las posiciones que se le presenten depende del las posiciones que genere el randon,  despues las respuestas se compararan con sus respectivas respuestas que estan en el vector. y si el usuario fallara en una de las 5 preguntas entonces se le vuelven a presentar 5 metadatos( preguntas) otravez al azar. despues de que fallara la segunda vez entonces se le manda un mensaje de denegacion de servicio y se saca del sistema..
ejemplo:

tabla: preguntas

METADATOS            DATOS

id_pregunta             1
no_control               96091300
edad                       16
peso                       70
direccion                 niño perdido
telefono                  77723456
estatura                  1.60
CURP                      123nbgt54
 .....
  .....


suponiendo que entro al sistema, doy mis datos ( nombre y no_control) y son correctos, entonces al oprimir el boton de siguiente, se tiene que ejecutar un servlet el cual tiene que hacer una consulta a la BD y extraer  la DUPLA  de los datos correspodientes a los datos ( nombre y no_control) despues estos datos de la DUPLA se tiene que almacenar en un VECTOR( esto con el fin de no estar accesando muchas veces a la BD) para que con losdatos ahi almacenados trabajemos, despues de este proceso se presentaran 5 preguntas que fueron escogidas al azar de la tabla preguntas, por ejemplo si el arreglo donde guardo mis numeros generados por el random fuera asi: random[1,3,4,6,7,8], en tonces en pantalla me apareceria lo siguinete:

id_pregunta
edad
peso
telefono
estatura
CURP

donde el usuario atravez de cuadros de texto lcontestara a esas preguntas.. y si contestara mal a una de las preguntas entonces el servlet generara otras 5 preguntas,  por ejemplo, supongamos que falle y conteste mal una de las 5 anteriores preguntas entonces el arreglo del random se vuelve a ejecutar y generaria otra secuancia de nuemros, por ejemplo random[2,3,4,5,8]. y lo que se presentaria en pantalla seria

no_control              
edad                      
peso                      
direccion                
CURP    

Si vuelvo a fallar en alguna de esta preguntas entonces el servlet me tiene que sacar del sistema..

saludos,

espero y ahora si me haya dado a entender..

 :kicking:

4
JSP/Servlets / Como Almacenar Y Despues Obtener Una Variable
« en: Viernes 24 de Septiembre de 2004, 17:43 »
Hola que tal chavos y chavas, expertos en Java, otra vez molestandolos por a qui, los que pasa es que paso 2 variables ( nombre y NIP)de un formulario HTML a un servlet, en el servlet las recibo y despues hago una consulta a una BD. pero la variable (NIP) necesito pasarla a otro servlet ya que necesitare hacer otras opreaciones con esta variable, como le puedo hacer para que conserve esta variable y poderla utilizar en otros servlets? no se si con sesiones pudiera utilizarlas..
solo que soy inesperto en sesiones y me gustaria y me ayudaran con un jemplo donde pasara las 2 variables y las conservara utilizando sesiones. por favor....


espero y me puedan ayudar..

o alguna otra forma?.. tal vez haciendo una clase especial donde guarde mis 2 variables... como le haria?..

saludos  :kicking:

5
JSP/Servlets / Re: Generar Preguntas
« en: Lunes 20 de Septiembre de 2004, 23:36 »
:o  Hola,  que tal. ya le hice como me comentas,, solo que el siguinte codigo que te mando, pues no me hace lo de las preguntas aleatorias, lo que trato de hacer es que los metadatos de la tablas se conviertasn en preguntas, para que sea mas facil identificar las respuestas, asi que con el codigo presento los metadatos,  no se si es correcto el llenado del vector como lo hago,  ya que le estoy pasando el contenido de  la tupla que se obtiene de la consulta (segun yo),

los metadatos los utilice como preguntas,  me podrias ayudar para que los numeros aleatorios resultantes sean los numeros de los metadatos y luego pues los presente en pantalla de uno por uno,
ejemplo : ( si el primer  nuemero aleatorio es 4 esntonces la pregunta corresponderia al numero 4 de los metadatos, por lo tanto presento en pantalla en metadato 4( edad), lo malo es que no presenta todas juntas, solo presenta 1 pregunta, y pues necesito otra vez reeleer el servlet para que me genere otra (esto es incorrecto)..

Ademas, como le hago para comparar las posibles respuestas, con las que ya tengo en el vector y ya  no haga coneccion a la BD?.

import java.io.*;
import java.net.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class preguntas extends HttpServlet
{
  static final String connect_string ="jdbc:odbc:conectar";
  public void init(ServletConfig config) throws ServletException
  {
     super.init(config);      
  }
    public void destroy()
    {        
    }
   
     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
     {  
        String control2= request.getParameter("valor1");
        response.setContentType("text/vnd.wap.wml");
        PrintWriter out = response.getWriter();
         
        Connection conn=null;
        try
         {
            // Carga del driver JDBC
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      // Class.forName("org.postgresql.Driver");
           // Conexión con la base de datos
             if (conn != null)
              {
           conn.close();
              }
             conn = DriverManager.getConnection (connect_string,"","");
             // conn = DriverManager.getConnection (connect_string,"postgres","");
             conn.setAutoCommit(true);
         }catch (Exception e)
         {
           out.println("<wml>");
           out.println("<card id=\"card15\">");
           out.println("<p>");
           out.println("<br>error"+e);
           out.println("</br>");        
           out.println("</p>");
           out.println("</card>");
           out.println("<wml>");
         }
         try
          {
             Statement stmt = conn.createStatement ();
             System.out.println("oaqui!");
             ResultSet conjuntoResultados=stmt.executeQuery("SELECT * FROM preguntas where no_ctrl=\'"+control2+"\'");           
             ResultSetMetaData metaDatos = conjuntoResultados.getMetaData();
             int numeroDeColumnas = metaDatos.getColumnCount();          
             int alea[] = new Numero().getAleatorios(5,10);
             
            for  (int i=0; i < alea.length; i++)
             {
                switch(alea)
                {
               
                  case 1:
                       out.println("<wml>");
                       out.println("<card id=\"card18\">");
                       out.println("<p>");
                       out.println(metaDatos.getColumnName(1));
                       out.println("</p>");
                       out.println("</card>");
                       out.println("</wml>");
                         break;
                  case 2:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(2));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 3:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(3));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 4:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(4));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 5:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(5));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 6:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(6));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 7:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(7));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 8:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(8));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
                  case 9:
                         out.println("<wml>");
                         out.println("<card id=\"card18\">");
                         out.println("<p>");
                         out.println(metaDatos.getColumnName(9));
                         out.println("</p>");
                         out.println("</card>");
                         out.println("</wml>");
                         break;
         
                 default:
                        out.println("<wml>");
                        out.println("<card id=\"card18\">");
                        out.println("<p>");
                        out.println(metaDatos.getColumnName(10));
                        out.println("</p>");
                        out.println("</card>");
                        out.println("</wml>");
            }    
;    
         }    
                       
        }catch (Exception e)
          {
               out.println("<wml>");
             out.println("<card id=\"card27\">");
               out.println("<p>");
        out.println("<br>error ==> "+e);
        out.println("</br>");
             out.println("</p>");
             out.println("</card>");
             out.println("</wml>");    
          }
       // conn.close();
        out.close();
    }
     
    public String getServletInfo() {
        return "Descripción";
    }
   
}


espero tu respuesta.. saludos....
porfavor :blink:

6
JSP/Servlets / Re: Generar Preguntas
« en: Miércoles 8 de Septiembre de 2004, 20:25 »
:o  :rolleyes:  por fis.. me urge encontar unas solucion :)

Hola A todos... estoy realizando un aplicacion con servlets y wml, que consoiste en porder emitir el voto a través del telefono celular, la primera pantalla consiste en pedir el No. de control y el nombre del votante, despues de comparar los datos enviados por el elector, ejecuto un servlet cuya tarea es hacer una consulta a la base de datos, si los datos del votante que estan en la BD coninciden con los que envio atraves del celular, entonces el sistema tiene que hacerle 5 preguntas de las cuales la respuestas ya estan almecenas en la BD; en la BD existen en realidad 10 preguntas, por lo que el servlet que quiero realizar consistirá en presentar solo 5 preguntas y tienen que ser al azar, esto con la finalidad de que si el votante no acierta en la primera fase de preguntas se le de otra oportunidad solo que la segunda oportunidad no deben ser las mismas pregunta, algun randon debe de generar otro orden y preguntar otras preguntas de las 10 dispoibles en la base de datos.

1. Ya tengo el el codigo del random, y lo tengo dentro del cuerpo de mi servlet, lo quiero sacar como una clase independiente, no se como hacerlo, y que al momento de que necesite de el lo mande atraer en mi servlet.

2. el resultado que me de el arreglo del los 5 numeros aleatorios y que se encontarran en la clase random, los tengo que comparar con los indices del vector donde quiero meter el contenido del ResulSet de la consulta de preguntas, para ver a que numeros de preguntas corresponde y asi mandar a imprimir la pregunta,
les pongo el codigo.

Espero y me ayuden , porfavor....
o algun otra idea que tengan para realizar esto?
____________________________________________________

public static Vector datos = new Vector();
________________________________________

todo lo de conexion ya lo hice
_______________
{
/**+++ aqui va lo de generar preguntas */

String qry1="select * from preguntas where no_ctrl=\'"+control2+"\' ";
Statement stmt2 = conn1.createStatement ();
if (stmt2.execute (qry1))
{
ResultSet results1 = stmt2.getResultSet();

// COMIENZA EL RANDOM

int limiteSup=10, limiteInf =3;
int n[]=new int[5], i, k;

for (i=0; i<n.length; i++)
{
//Obtener un número aleatoreio
n = (int)((limiteSup - limiteInf + 1) * Math.random() + limiteInf);

//Verificar si ya existe el ultimo número obtenido

for (k =0; k < i; k++)
if (n[k] == n) // ya existe
{
i--; //i será incrementado por el for externo
break; //salir de este for
}
}

// Clasificar la matriz

Arrays.sort(n);
//Mostrar la matriz

for (i=0; i <n.length; i++)

System.out.print(n+ " ");
//System.out.println();
//TERMINA RANDOM

while ( results1.next())
{
datos.add(results1.getString("edad")));

Páginas: [1]