Foros del Web » Programación para mayores de 30 ;) » Java »

java.sql.SQLException: Before start of result set

Estas en el tema de java.sql.SQLException: Before start of result set en el foro de Java en Foros del Web. Holaaa, necesito ayuda urgente....se trata de una base de datos de una biblioteca en la que tengo que añadir nuevos libros comprobando primeramente si existe ...
  #1 (permalink)  
Antiguo 05/06/2014, 13:55
 
Fecha de Ingreso: junio-2014
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Exclamación java.sql.SQLException: Before start of result set

Holaaa, necesito ayuda urgente....se trata de una base de datos de una biblioteca en la que tengo que añadir nuevos libros comprobando primeramente si existe y esas cosas.....la verdad es que no se mucho de java y me estoy volviendo loca....
Si alguien pudiera ayudarmeee!!!!!

este es mi código:
Código Java:
Ver original
  1. import java.io.*;
  2. import java.sql.*;
  3. import javax.servlet.http.*;
  4.  
  5. public class Anyadir extends HttpServlet{
  6.     public void doPost(HttpServletRequest req, HttpServletResponse res){
  7.        
  8.         Connection con;
  9.         Statement st1,st2;
  10.         ResultSet rs;
  11.         String SQL;
  12.         PrintWriter out;
  13.         String autor;
  14.         String titulo;
  15.         String tema;
  16.         String publicado;
  17.         String editorial;
  18.         String referencia;
  19.         String situacion;
  20.        
  21.         int idautor = 0;
  22.         int idlibro = 0;
  23.         int idtema = 0;
  24.         int ideditorial = 0;
  25.        
  26.                
  27.         try{
  28.             Class.forName("com.mysql.jdbc.Driver");
  29.         }
  30.         catch(Exception e){
  31.             System.out.println(e);
  32.         }
  33.         try{
  34.             autor = req.getParameter("autor");
  35.             titulo = req.getParameter("titulo");
  36.             tema = req.getParameter("tema");
  37.             publicado = req.getParameter("publicado");
  38.             editorial = req.getParameter("editorial");
  39.             referencia = req.getParameter("referencia");
  40.             situacion = req.getParameter("situacion");
  41.            
  42.             //CONEXION
  43.             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/practica3","root","");
  44.             st1 = con.createStatement();
  45.             st2 = con.createStatement();
  46.            
  47.             out = res.getWriter();
  48.             res.setContentType("text/html");
  49.             out.println("<HTML><BODY>");
  50.            
  51.             //Si uno de los campos esta vacío, la operación no podrá realizarse:
  52.             if(autor.equals("") || titulo.equals("") || tema.equals("") || publicado.equals("") || editorial.equals("") || referencia.equals("") || situacion.equals("")){      
  53.                 out.println("<h3>Operacion incorrecta: Debe rellenar todos los campos.</h3>");
  54.                 out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>");
  55.                 out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>");
  56.                 out.println("</BODY></HTML>");
  57.                 st1.close();
  58.                 st2.close();
  59.                 con.close();
  60.                 out.close();
  61.             }
  62.            
  63.             else{
  64.                 //LIBRO
  65.                 SQL = "SELECT IdLibro FROM libros WHERE Titulo = '"+titulo+"'";
  66.                 rs = st1.executeQuery(SQL);
  67.                 if(rs.next()){
  68.                             idlibro = rs.getInt("IdLibro");
  69.                             out.println("idlibro ="+idlibro);
  70.                             out.println("<h3>Este libro ya se encuentra en el registro.</h3>");
  71.                             out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>");
  72.                             out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>");
  73.                             out.println("</BODY></HTML>");
  74.                             st1.close();
  75.                             st2.close();
  76.                             con.close();
  77.                             out.close();
  78.                 }
  79.                 con.setAutoCommit(false);
  80.                     //AUTOR
  81.                     SQL = "SELECT IdAutores FROM autores WHERE Autor = '"+autor+"'";
  82.                     rs = st1.executeQuery(SQL);
  83.                     if(rs.next()){
  84.                                 idautor = rs.getInt("IdAutores");
  85.                                 out.println("idautor="+idautor);
  86.                     }
  87.                     //si no es porque no existe ese autor y habra que crearlo:
  88.                     //INSERT INTO `admin`.`admin` (`Nombre`, `Contra`) VALUES ('sandra', 'sdsds');
  89.                     SQL = "INSERT INTO autores (Autor) VALUES ('"+autor+"')";
  90.                     st2.executeUpdate(SQL);
  91.                     //st2.close();
  92.                     SQL = "SELECT IdAutores FROM autores WHERE Autor = '"+autor+"'";
  93.                     rs = st1.executeQuery(SQL);
  94.                     idautor = rs.getInt("IdAutores");
  95.                     out.println("idautor="+idautor);                                    
  96.                
  97.                     //TEMA
  98.                     SQL = "SELECT IdTema FROM tema WHERE Tema = '"+tema+"'";
  99.                     rs = st1.executeQuery(SQL);
  100.                     if(rs.next()){
  101.                                 idtema = rs.getInt("IdTema");
  102.                                 out.println("idtema="+idtema);
  103.                     }
  104.                     SQL = "INSERT INTO tema (Tema) VALUES ('"+tema+"')";
  105.                     st2.executeUpdate(SQL);
  106.                     //st2.close();
  107.                     SQL = "SELECT IdTema FROM tema WHERE Tema = '"+tema+"'";
  108.                     rs = st1.executeQuery(SQL);
  109.                     idtema = rs.getInt("IdTema");
  110.                     out.println("idtema="+idtema);
  111.                    
  112.                     //EDITORIAL
  113.                     SQL = "SELECT IdEditorial FROM editorial WHERE Editorial = '"+editorial+"'";
  114.                     rs = st1.executeQuery(SQL);
  115.                     if(rs.next()){
  116.                                 ideditorial = rs.getInt("IdEditorial");
  117.                                 out.println("ideditorial="+ideditorial);
  118.                     }
  119.                     SQL = "INSERT INTO editorial (Editorial) VALUES ('"+editorial+"')";
  120.                     st2.executeUpdate(SQL);
  121.                     //st2.close();
  122.                     SQL = "SELECT IdEditorial FROM editorial WHERE Editorial = '"+editorial+"'";
  123.                     rs = st1.executeQuery(SQL);
  124.                     ideditorial = rs.getInt("IdEditorial");
  125.                     out.println("ideditorial ="+ideditorial);
  126.                    
  127.                     SQL = "INSERT INTO libros (Referencia,Titulo,IdAutor,Publicado,IdTema,IdEditorial,Situacion) VALUES ('"+referencia+"','"+titulo+"','"+idautor+"','"+publicado+"','"+idtema+"','"+ideditorial+"','"+situacion+"')";  
  128.                     st2.executeUpdate(SQL);
  129.                 con.commit();
  130.                 con.setAutoCommit(true);
  131.                 st1.close();
  132.                 st2.close();
  133.                 out.close();
  134.                 con.close();
  135.        
  136.             }
  137.             out.println("<h3>prsdfdsfsfsa.</h3>");
  138.             out.println("<FORM METHOD = GET ACTION = http://localhost:8080/principal/inicio>");
  139.             out.println("<INPUT TYPE = SUBMIT VALUE = 'Volver a Inicio'></FORM>");
  140.             out.println("</BODY></HTML>");
  141.         }
  142.         catch(Exception e){
  143.             System.out.println(e);
  144.             return;
  145.         }
  146.     }
  147. }

Última edición por gnzsoloyo; 05/06/2014 a las 14:13
  #2 (permalink)  
Antiguo 05/06/2014, 14:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: java.sql.SQLException: Before start of result set

OFF TOPIC en MySQL.

Movido a Foro de Java.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/06/2014, 01:05
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: java.sql.SQLException: Before start of result set

http://www.forosdelweb.com/search.ph...20result%20set

Procura buscar primero si tu pregunta ya está contestada, es más rápido que preguntar.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: campo, mysql, registro, result, select, set, sql, start
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:17.