Si alguien pudiera ayudarmeee!!!!!
este es mi código:
Código Java:
Ver original
import java.io.*; import java.sql.*; import javax.servlet.http.*; public class Anyadir extends HttpServlet{ public void doPost(HttpServletRequest req, HttpServletResponse res){ Connection con; Statement st1,st2; ResultSet rs; String SQL; PrintWriter out; String autor; String titulo; String tema; String publicado; String editorial; String referencia; String situacion; int idautor = 0; int idlibro = 0; int idtema = 0; int ideditorial = 0; try{ Class.forName("com.mysql.jdbc.Driver"); } } try{ autor = req.getParameter("autor"); titulo = req.getParameter("titulo"); tema = req.getParameter("tema"); publicado = req.getParameter("publicado"); editorial = req.getParameter("editorial"); referencia = req.getParameter("referencia"); situacion = req.getParameter("situacion"); //CONEXION st1 = con.createStatement(); st2 = con.createStatement(); out = res.getWriter(); res.setContentType("text/html"); out.println("<HTML><BODY>"); //Si uno de los campos esta vacío, la operación no podrá realizarse: if(autor.equals("") || titulo.equals("") || tema.equals("") || publicado.equals("") || editorial.equals("") || referencia.equals("") || situacion.equals("")){ out.println("<h3>Operacion incorrecta: Debe rellenar todos los campos.</h3>"); out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>"); out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>"); out.println("</BODY></HTML>"); st1.close(); st2.close(); con.close(); out.close(); } else{ //LIBRO SQL = "SELECT IdLibro FROM libros WHERE Titulo = '"+titulo+"'"; rs = st1.executeQuery(SQL); if(rs.next()){ idlibro = rs.getInt("IdLibro"); out.println("idlibro ="+idlibro); out.println("<h3>Este libro ya se encuentra en el registro.</h3>"); out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>"); out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>"); out.println("</BODY></HTML>"); st1.close(); st2.close(); con.close(); out.close(); } con.setAutoCommit(false); //AUTOR SQL = "SELECT IdAutores FROM autores WHERE Autor = '"+autor+"'"; rs = st1.executeQuery(SQL); if(rs.next()){ idautor = rs.getInt("IdAutores"); out.println("idautor="+idautor); } //si no es porque no existe ese autor y habra que crearlo: //INSERT INTO `admin`.`admin` (`Nombre`, `Contra`) VALUES ('sandra', 'sdsds'); SQL = "INSERT INTO autores (Autor) VALUES ('"+autor+"')"; st2.executeUpdate(SQL); //st2.close(); SQL = "SELECT IdAutores FROM autores WHERE Autor = '"+autor+"'"; rs = st1.executeQuery(SQL); idautor = rs.getInt("IdAutores"); out.println("idautor="+idautor); //TEMA SQL = "SELECT IdTema FROM tema WHERE Tema = '"+tema+"'"; rs = st1.executeQuery(SQL); if(rs.next()){ idtema = rs.getInt("IdTema"); out.println("idtema="+idtema); } SQL = "INSERT INTO tema (Tema) VALUES ('"+tema+"')"; st2.executeUpdate(SQL); //st2.close(); SQL = "SELECT IdTema FROM tema WHERE Tema = '"+tema+"'"; rs = st1.executeQuery(SQL); idtema = rs.getInt("IdTema"); out.println("idtema="+idtema); //EDITORIAL SQL = "SELECT IdEditorial FROM editorial WHERE Editorial = '"+editorial+"'"; rs = st1.executeQuery(SQL); if(rs.next()){ ideditorial = rs.getInt("IdEditorial"); out.println("ideditorial="+ideditorial); } SQL = "INSERT INTO editorial (Editorial) VALUES ('"+editorial+"')"; st2.executeUpdate(SQL); //st2.close(); SQL = "SELECT IdEditorial FROM editorial WHERE Editorial = '"+editorial+"'"; rs = st1.executeQuery(SQL); ideditorial = rs.getInt("IdEditorial"); out.println("ideditorial ="+ideditorial); SQL = "INSERT INTO libros (Referencia,Titulo,IdAutor,Publicado,IdTema,IdEditorial,Situacion) VALUES ('"+referencia+"','"+titulo+"','"+idautor+"','"+publicado+"','"+idtema+"','"+ideditorial+"','"+situacion+"')"; st2.executeUpdate(SQL); con.commit(); con.setAutoCommit(true); st1.close(); st2.close(); out.close(); con.close(); } out.println("<h3>prsdfdsfsfsa.</h3>"); out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>"); out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>"); out.println("</BODY></HTML>"); } return; } } }