• Jueves 28 de Marzo de 2024, 13:05

Autor Tema:  Pequeña Ayuda Para Un Principiante  (Leído 1522 veces)

zakasonapan

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Pequeña Ayuda Para Un Principiante
« en: Sábado 21 de Julio de 2007, 04:37 »
0
Me animo a colocar mi primer mensaje en este foro para pedirles ayuda sobre un servlet (y en general varios de ellos con la misma estructura) que no me funciona. Es una consulta sobre alumnos por medio de un código. Sencillísimo pero se me ha complicado por una cosa a la que no he atinado. A ver si alguien me da una mano. El código es el siguiente:

Formulario
Código: Text
  1. <html>
  2. <head>
  3. <title>Buscar</title>
  4. </head>
  5.  
  6. <body>
  7.  <h1 align="center">Ficha de Alumno</h1>
  8.  <form name="form1" action="instituto/testMatricula">
  9.   <table width="100%"  border="0">
  10.     <tr>
  11.       <td align="right">Ingrese código a buscar: </td>
  12.       <td><input type="text" name="codigo"></td>
  13.     </tr>
  14.     <tr>
  15.       <td colspan="2" align="center">
  16.           <input type="submit" name="Submit" value="Enviar">
  17.           <input type="reset" name="Submit2" value="Borrar">
  18.       </td>
  19.     </tr>
  20.   </table>
  21. </form>
  22. </body>
  23. </html>
  24.  

Servlet
Código: Text
  1. import java.io.IOException;
  2. import java.io.PrintWriter;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.http.HttpServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7.  
  8. import java.sql.*;
  9.  
  10. public final class testMatricula extends HttpServlet
  11. {
  12.   Connection conexion=null;
  13.   Statement sentencia=null;
  14.   ResultSet tabla= null;
  15.   public void Show(PrintWriter out) throws Exception
  16.   {  conexion=getMySqlConnection();
  17.     sentencia=conexion.createStatement();
  18.     boolean isResult=sentencia.execute("SELECT Alumnos.appaterno, apmaterno, nombres, dia, mes, anio, depart, "+
  19.                 "provinc, distrito, estcivil, dni, nacion, gradinst, ocupac, direcact, distact, "+
  20.                 "Carrera.nomcarrera, Turno.nomturno FROM Alumnos, Carrera, Turno "+
  21.                 "WHERE (Alumnos.idcarrera=Carrera.idcarrera) and (Alumnos.idturno=Turno.idturno) "+
  22.                 "and (Alumnos.idalumno='"+codigo+"')");
  23.     if(isResult)
  24.     {  ResultSet r=sentencia.getResultSet();
  25.       if (r!=null)
  26.       {  ResultSetMetaData md=r.getMetaData();
  27.         int fCount = md.getColumnCount();
  28.         out.println("<table border=\"1\">");
  29.         out.println("<tr>");
  30.         for(int k=1;k<=fCount;k++)
  31.             out.println("<td>"+md.getColumnName(k)+"</td>");
  32.           out.println("</tr>");
  33.         
  34.         while(r.next())
  35.         {  out.println("<tr>");
  36.           for(int k=1;k<=fCount;k++)
  37.               out.println("<td>"+setMask(r.getString(k))+"</td>");
  38.           out.println("</tr>");
  39.         }
  40.         out.println("</table>");  
  41.       }
  42.       conexion.close();
  43.     }
  44.   }
  45.   
  46.   public String setMask(String value)
  47.   {  if (value.indexOf("á")>1) value=value.replaceFirst("á","á");
  48.     if (value.indexOf("é")>1) value=value.replaceFirst("é","é");
  49.     if (value.indexOf("í")>1) value=value.replaceFirst("í","í");
  50.     if (value.indexOf("ó")>1) value=value.replaceFirst("ó","ó");
  51.     if (value.indexOf("ú")>1) value=value.replaceFirst("ú","ú");
  52.     return value;
  53.   }
  54.   
  55.   public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
  56.   {  response.setContentType("text/html");
  57.     PrintWriter out = response.getWriter(); //Dispositivo de salida
  58.     out.println("<html>");
  59.         out.println("<head>");
  60.         out.println("<title>Ficha de Alumno</title>");
  61.     //out.println("<link REL='stylesheet' TYPE='text/css' HREF='../../style.css' TITLE='formal'>");
  62.     out.println("</head>");    
  63.         out.println("<body>");
  64.     out.println("<b>Ficha de Alumno</b>");
  65.     out.println("<p>");
  66.     try
  67.     {  Show(out);      
  68.     }  catch(Exception a)
  69.     {  out.println(setMask("Error de conexión...!"));
  70.     }
  71.     out.println("</body>");
  72.         out.println("</html>");
  73.   }
  74.   
  75.   public static Connection getMySqlConnection() throws Exception {
  76.     Class.forName("com.mysql.jdbc.Driver").newInstance();
  77.     String url = "jdbc:mysql://localhost/instituto";
  78.     Connection conn = DriverManager.getConnection(url, "root", "");
  79.     return conn;
  80.   }
  81. }
  82.  

Error
Código: Text
  1. testMatricula.java:22: cannot find symbol
  2. symbol  : variable codigo
  3. location: class testMatricula
  4. "and (Alumnos.idalumno='"+codigo+"')");
  5.            ^
  6. 1 error
  7.  

Gracias de antemano por la ayuda prestada. Saludos.