• Martes 12 de Noviembre de 2024, 21:28

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.


Temas - gamarin

Páginas: [1]
1
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

2
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:

3
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]