Java - Conexión y consulta SQLite

 
Vista:

Conexión y consulta SQLite

Publicado por Jorge (10 intervenciones) el 20/02/2009 21:39:00
Hola a todos, tengo una base de datos SQLite y un programa Java (netbeans).

Estoy intentando conectar con la base de datos (lo hace bien) y posteriormente realizar una consulta (no lo hace bien, aunque no da mensaje de error ni compilación).

El código que pongo pertenece a una interface y es fruto de la fusión de varios códigos encontrados por internet.

Si alguien me ayuda con la función buscarLibro se lo agradecería muchísimo, estoy muy perdido:


package sqlite;

import java.sql.*;
import java.util.Vector;
import javax.swing.JOptionPane;

public class IBaseDatos implements Interface {

static final String ControladorJDBC = "org.sqlite.JDBC"; // Nombre del driver
static final String baseDatos = "jdbc:sqlite:libreria.sqlite"; // Nombre de la base de datos
private Statement instruccion; // Variable para sentencia SQL.
private Connection conexion;

public IBaseDatos(){
ConectarBD(); // Conectamos con la BBDD
}

private void ConectarBD (){
try{
Class.forName(ControladorJDBC); // Carga el driver
conexion = DriverManager.getConnection(baseDatos); // Realiza la conexión.
instruccion = conexion.createStatement();

}catch(SQLException excepcionSql){ // Control de excepciones
JOptionPane.showMessageDialog(null, excepcionSql.getMessage(),
"Error en la base de datos", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
catch(ClassNotFoundException claseNoEncontrada){
JOptionPane.showMessageDialog(null, claseNoEncontrada.getMessage(),
"No se encontro el controlador", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
finally{
try{
instruccion.close();
conexion.close();
}
catch(SQLException excepcionSQL){
JOptionPane.showMessageDialog(null, excepcionSQL.getMessage(),
"Error en la base de datos", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
}
}

public Libro buscarLibro(String titulo) {
String SQL;
ResultSet resultado = null;
Libro Encontrado = null;

try {
instruccion = conexion.createStatement();
SQL = " SELECT * FROM libros ";
SQL = SQL + " WHERE titulo = '" + titulo +"';";

ResultSet resultados = instruccion.executeQuery(SQL);
StringBuffer res = new StringBuffer();

if (resultados.next()) {
Encontrado = new Libro();

Encontrado.setAutor(resultado.getString("autor"));
Encontrado.setColeccion(resultado.getString("coleccion"));
Encontrado.setComentario(resultado.getString("comentario"));
Encontrado.setEan(resultado.getString("ean"));
Encontrado.setEditorial(resultado.getString("editorial"));
Encontrado.setEncuadernacion(resultado.getString("encuadernacion"));
Encontrado.setIdioma(resultado.getString("idioma"));
Encontrado.setIsbn("isbn");
Encontrado.setNPaginas(resultado.getInt("nPaginas"));
Encontrado.setTema(resultado.getString("tema"));
Encontrado.setTitulo(resultado.getString("titulo"));
}
resultado.close();
return Encontrado;

}
catch (Exception excep) {
JOptionPane.showMessageDialog (null,excep.getMessage() );
return null;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder