Descripción
La excepción SQLException
es una clase que extiende de Exception
y se utiliza para manejar errores específicos que ocurren durante operaciones con bases de datos utilizando JDBC. Esta excepción proporciona información detallada sobre el error ocurrido, incluyendo un código de error específico del proveedor de la base de datos y un estado SQL estándar que permite identificar el tipo de problema encontrado.
Algunos de los estados SQL más corrientes son:
- 00000: Éxito - La operación se completó correctamente
- 01002: Error de desconexión - La conexión con la base de datos se perdió
- 08001: Error de conexión - No se pudo establecer la conexión con el servidor
- 22001: Error de datos - Los datos son demasiado largos para la columna
- 23000: Violación de restricción - Violación de clave única o restricción de integridad
- 42000: Error de sintaxis - Error en la sintaxis de la sentencia SQL
- 42601: Error de sintaxis - Error en la sintaxis o violación de reglas gramaticales en la sentencia SQL
Sintaxis
public class SQLException extends Exception implements Iterable<Throwable>
Constructores
Métodos
Ejemplo
public class InsertarDatos {
public static void main(String[] args) {
Connection con = null;
PreparedStatement stmt = null;
String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";
try{
Class.forName(sDriver).newInstance();
con = DriverManager.getConnection(sURL,"root","");
String sISBN = "84-9815-212-7";
String sTitulo = "Yo, Claudio";
String sDescripcion="Supuesta autobiografía de Claudio";
String sCategoria = "Novela Histórica";
int idAutor = 3;
stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)");
stmt.setString(1,sISBN);
stmt.setInt(2,idAutor);
stmt.setString(3,sTitulo);
stmt.setString(4,sDescripcion);
stmt.setString(5,sCategoria);
int retorno = stmt.executeUpdate();
if (retorno>0)
System.out.println("Insertado correctamente");
} catch (SQLException sqle){
System.out.println("SQLState: "
+ sqle.getSQLState());
System.out.println("SQLErrorCode: "
+ sqle.getErrorCode());
sqle.printStackTrace();
} catch (Exception e){
e.printStackTrace();
} finally {
if (con != null) {
try{
stmt.close();
con.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
}
}
Artículos
Vídeos Java
Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.