Error en modificar datos con update

Iniciado por Aeros, 17 Julio 2010, 12:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Aeros

El Programa funciona pero me salta el siguiente excepcion:
Código (java) [Seleccionar]
java.lang.NullPointerException
at datos.Conector.main(Conector.java:76)


lo que quiero hacer con este programa es lo siguiente:
el usuario ingresa el curso que quiere dar de alta al alumno si el curso tiene vacantes resta -1 al campo vacantes (lo hace perfectamente) pero despues sale la excepcion solo cuando entra en el if (
Código (java) [Seleccionar]
if(rs.getInt(1)>0){)

Código (java) [Seleccionar]
package datos;
import java.sql.DriverManager;
import java.sql.ResultSet;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.util.Scanner;

public class Conector {
public static void main(String[] args) {
Connection conn=null;
Statement stmt = null;
ResultSet rs = null;

try{
Class.forName("com.mysql.jdbc.Driver");
conn =(Connection) DriverManager.getConnection("jdbc:mysql://localhost/escuela","root","1234");
stmt =(Statement) conn.createStatement();
System.out.println("Ingrese el curso que desea dar de alta al alumno");
Scanner sc = new Scanner(System.in);
String CursoAlta = sc.next();
String sqlConsult = ("SELECT Vacantes_Curso FROM curso where Nombre_Curso =" + "\"" + CursoAlta + "\"");
rs = stmt.executeQuery(sqlConsult);
rs = stmt.getResultSet();

while(rs.next()){
if(rs.getInt(1)>0){

String sqlConsult2 =("update Curso set Vacantes_Curso = Vacantes_Curso - 1 where Nombre_Curso ="+ "\"" + CursoAlta+ "\"");
stmt.executeUpdate(sqlConsult2);
rs = stmt.getResultSet();
System.out.println("hay vacantes, a continuacion ingrese los siguientes datos!");




}else{
System.out.println("Lo sentimos no hay vacantes!");
}
}

conn.close();
}
catch (Exception e){
e.printStackTrace();
}

}

}


saludos :D

Chuidiang

Según esto Conector.java:76 el error es en la línea 76 de la clase Connector.java. Esa línea no está en el trozo de código que has puesto. ¿Cual es exacatamente esa línea?

Se bueno.

Aeros

esta linea

soy bueno :D

Código (java) [Seleccionar]
while(rs.next()){

Aeros

#3
debci o Leyer lo he desfraudado he puesto un doble post :P

vamos q ustedes me pueden dar ideas :D:D:D:D

Chuidiang

Si es esa línea, la única opción de que de NullPointerException es que rs sea null. Quita la línea anterior s = stmt.getResultSet(); que no hace falta, ya que el resultset lo obtienes en el exequteQuery()

Se bueno.

Aeros

si lo saco la linea me dice el siguiente error:
Código (java) [Seleccionar]


java.sql.SQLException: Operation not allowed after ResultSet closed



saludos