Tengo un formulario que envia datos al servlet Recibos.java, todos son tipo cadena, y ya en el servlet me conecto a la bd (que esta hecha en sql server 7), por medio de un puente con odbc, imprime que ya los recibió, y los almacena en la bd (no todos), dependiendo si son ingresos o egresos (por medio de un radio en html checo de que tipo es, si es egreso o ingreso) se almacenan los datos en la tabla correspondiente.El error que me sale aqui se los muestro:
Las tablas de la bd son: alumnos, ingresos, egresos; donde todos los campos tambien son cadenas, incluyendo el idrecibos (varchar (5)) que es la primary key de las 2 tablas. Entonces para crear el idrecibos que es cadena, primero leo el ResultSet de un SELECT * FROM INGRESOS con un while, y se va incrementando un contador. Ese contador tendra al finalizar el ciclo el No. de registros de la tabla, asi que lo incremento una vez mas, y lo convierto a String con Integer.toString(reg); No se donde esta el error, si en la conversion o algo que tenga que ver con el ResultSet, pero espero que me puedan ayudar.
http://img99.imageshack.us/img99/4818/pantalla1hj8.png
(disqlpen pero me dejarán poner links hasta que tenga + de 30 mensajes )
y aqui esta el codigo del servlet:
Cita:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class Recibos extends HttpServlet
{
Connection conexion;
Statement sentencia;
int reg;
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException, NumberFormatException
{
PrintWriter out;
int con2=0,conV2=0;
response.setContentType("text/html");
out = response.getWriter();
String ap=null,am=null,nombre=null,grado=null,gpo=null;
String concep=null,cant=null,cantl=null,turno=null,fecha= null,dir=null;
String ingresos=null,egresos=null;
ap=request.getParameter("ap");
am=request.getParameter("am");
nombre=request.getParameter("nombre");
grado=request.getParameter("grado");
gpo=request.getParameter("gpo");
concep=request.getParameter("concep");
cant=request.getParameter("cant");
cantl=request.getParameter("cantl");
turno=request.getParameter("turno");
fecha=request.getParameter("fecha");
dir=request.getParameter("dir");
ingresos=request.getParameter("ingresos");
egresos=request.getParameter("egresos");
out.print("<html>");
out.print("<title>");
out.print("Generador de recibos y Reportes del CETis No. 99");
out.print("</title>");
out.print("<body>");
out.print("<center>");
out.print("<hr><b>Los siguientes datos fueron enviados a impresora <br>");
out.print(" y almacenados en la Base de Datos:</b><br><br>");
out.print("<table><tr><td><b>Apellido Paterno: </b></td><td>"+ap+"</td></tr>");
out.print("<tr><td><b>Apellido Materno: </b></td><td>"+am+"</td></tr>");
out.print("<tr><td><b>Nombre(s): </b></td><td>"+nombre+"</td></tr>");
out.print("<tr><td><b>Grado: </b></td><td>"+grado+"</td></tr>");
out.print("<tr><td><b>Grupo: </b></td><td>"+gpo+"</td></tr>");
out.print("<tr><td><b>Concepto: </b></td><td>"+concep+"</td></tr>");
out.print("<tr><td><b>Cantidad (numero): </b></td><td>"+cant+"</td></tr>");
out.print("<tr><td><b>Cantidad (letra): </b></td><td>"+cantl+"</td></tr>");
out.print("<tr><td><b>Turno: </b></td><td>"+turno+"</td></tr>");
out.print("<tr><td><b>Fecha: </b></td><td>"+fecha+"</td></tr>");
out.print("<tr><td><b>Direccion: </b></td><td>"+dir+"</td></tr>");
// Se carga el driver JDBC-ODBC y la conexion:::::::::::::::::::::::::::: ;D
out.print("<br>");
out.print("<a href='http://localhost:8080/Generador/genrecibo.html'>Recibos</a href><br><br>");
out.print("<a href='http://localhost:8080/Generador/Principal>Menu</a href><br><br>");
out.print("<br><br><br><hr><font color=gray>");
out.print("<small>Centro de Estudios Tecnológicos Industrial y de servicios No. 99.<br>");
out.print("Yautepec, Mor.</small>");
out.print("</font>");
out.print("</center>");
out.print("</body>");
out.print("</html>");
out.close();
}
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException, NumberFormatException
{
doPost(request, response);
}
}
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class Recibos extends HttpServlet
{
Connection conexion;
Statement sentencia;
int reg;
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException, NumberFormatException
{
PrintWriter out;
int con2=0,conV2=0;
response.setContentType("text/html");
out = response.getWriter();
String ap=null,am=null,nombre=null,grado=null,gpo=null;
String concep=null,cant=null,cantl=null,turno=null,fecha= null,dir=null;
String ingresos=null,egresos=null;
ap=request.getParameter("ap");
am=request.getParameter("am");
nombre=request.getParameter("nombre");
grado=request.getParameter("grado");
gpo=request.getParameter("gpo");
concep=request.getParameter("concep");
cant=request.getParameter("cant");
cantl=request.getParameter("cantl");
turno=request.getParameter("turno");
fecha=request.getParameter("fecha");
dir=request.getParameter("dir");
ingresos=request.getParameter("ingresos");
egresos=request.getParameter("egresos");
out.print("<html>");
out.print("<title>");
out.print("Generador de recibos y Reportes del CETis No. 99");
out.print("</title>");
out.print("<body>");
out.print("<center>");
out.print("<hr><b>Los siguientes datos fueron enviados a impresora <br>");
out.print(" y almacenados en la Base de Datos:</b><br><br>");
out.print("<table><tr><td><b>Apellido Paterno: </b></td><td>"+ap+"</td></tr>");
out.print("<tr><td><b>Apellido Materno: </b></td><td>"+am+"</td></tr>");
out.print("<tr><td><b>Nombre(s): </b></td><td>"+nombre+"</td></tr>");
out.print("<tr><td><b>Grado: </b></td><td>"+grado+"</td></tr>");
out.print("<tr><td><b>Grupo: </b></td><td>"+gpo+"</td></tr>");
out.print("<tr><td><b>Concepto: </b></td><td>"+concep+"</td></tr>");
out.print("<tr><td><b>Cantidad (numero): </b></td><td>"+cant+"</td></tr>");
out.print("<tr><td><b>Cantidad (letra): </b></td><td>"+cantl+"</td></tr>");
out.print("<tr><td><b>Turno: </b></td><td>"+turno+"</td></tr>");
out.print("<tr><td><b>Fecha: </b></td><td>"+fecha+"</td></tr>");
out.print("<tr><td><b>Direccion: </b></td><td>"+dir+"</td></tr>");
// Se carga el driver JDBC-ODBC y la conexion:::::::::::::::::::::::::::: ;D
//================================================== ============
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:cetis99","" ,"");
Statement st = con.createStatement();
if(ingresos!=null)
{
out.print("<tr><td><b>Ingresos: </b></td><td>"+"SI"+"</td></tr>");
ResultSet r=sentencia.executeQuery("select * from ingresos");
reg=0;
//CONTAR REGISTROS INGRESOS
while(r.next())
{
reg++;
}
reg++;
String idrecibos=null;
idrecibos=Integer.toString(reg);
st.executeUpdate("insert into ingresos values('"+idrecibos+"','"+ap+"','"+am+"','"+nombre +"','"+fecha+"','"+concep+"','"+cant+"')");
r.close();
} //Cerramos If
out.print("</table>");
if(egresos!=null)
{
ResultSet r=sentencia.executeQuery("select * from egresos");
reg=0;
//CONTAR REGISTROS EGRESOS
while(r.next())
{
reg++;
}
reg++;
String idrecibos=null;
idrecibos=Integer.toString(reg);
out.print("<tr><td><b>Egresos: </b></td><td>"+"SI"+"</td></tr>");
st.executeUpdate("insert into egresos values('"+idrecibos+"','"+ap+"','"+am+"','"+nombre +"','"+fecha+"','"+concep+"','"+cant+"')");
r.close();
} //Cerramos If
st.close();
con.close();
}//try
catch (Exception e) {
out.println("Error VMD: " + e);
}//catch
out.print("<br>");
out.print("<a href='http://localhost:8080/Generador/genrecibo.html'>Recibos</a href><br><br>");
out.print("<a href='http://localhost:8080/Generador/Principal>Menu</a href><br><br>");
out.print("<br><br><br><hr><font color=gray>");
out.print("<small>Centro de Estudios Tecnológicos Industrial y de servicios No. 99.<br>");
out.print("Yautepec, Mor.</small>");
out.print("</font>");
out.print("</center>");
out.print("</body>");
out.print("</html>");
out.close();
}
public void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException, NumberFormatException
{
doPost(request, response);
}
}
Espero que me den una orientacion de como evitar este error, y muchas gracias por su ayuda