SQLite puede descargarse desde www.sqlite.org para administrar la base de datos podemos utilizar Sqliteman o sqlitestudio o también phpLiteAdmin que es similar a phpmyadmin para Mysql.
Creamos un ejemplo con SQLiteman una base de datos Empleados.db y una tabla empleado,
Podemos añadir datos mediante consultas sql INSERT
Luego para poder conectarnos a la base de datos necesitamos un driver, existen para varios lenguajes pyton, .net, java, c++, php lo trae incluido. Como en este ejemplo utilizaremos Java descargamos el driver actual sqlite-jdbc-3.7.2.jar desde https://bitbucket.or...jdbc/downloads.
A continuación el código java completo, creamos un fichero que se denomine sqlitetest.java
package sqlitetest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JFrame; import javax.swing.JTable; import javax.swing.JScrollPane; import javax.swing.table.DefaultTableModel; public class Sqlitetest { public static void main(String[] args) // TODO code application logic here throws Exception { Class.forName("org.sqlite.JDBC"); String dburl = "jdbc:sqlite:/home/test/sqlitetest/Empleados.db"; Connection conexion = DriverManager.getConnection(dburl); Statement Consulta = conexion.createStatement(); ResultSet rs = Consulta.executeQuery("SELECT * FROM Empleado"); DefaultTableModel modelo = new DefaultTableModel(); JTable tabla = new JTable(modelo); //creo 3 columnas con sus etiquetas //estas son las columnas del JTable modelo.addColumn("CODIGO"); modelo.addColumn("NOMBRE"); modelo.addColumn("DOMICILIO"); while(rs.next()){ Object [] datos=new Object[4];//Crea un vector //para almacenar los valores del ResultSet datos[0]=(rs.getInt(1)); datos[1]=(rs.getString(2)); datos[2]=(rs.getString(3)); System.out.println(rs.getString(2)); //añado el modelo a la tabla modelo.addRow(datos); // datos=null;//limpia los datos de el vector de la memoria } rs.close(); //Cierra el ResultSet JFrame f = new JFrame(); f.setBounds(10, 10, 300, 200); f.getContentPane().add(new JScrollPane(tabla)); f.setVisible(true); } }
También un vistazo de como se ve en Netbeans y los recursos que utilizamos
El resultado de ejecutar este programa genera un Jframe y un jTable al cual le asignamos un resultado Resultset de una consulta SQL.
Aspecto importantes SQLite solo se puede instanciar una vez es decir si ejecutamos nuestro programa y también tratamos de utilizar Sqliteman, pues solo podrá dar de alta y modificar el software que haya solicitado primero la conexión, los demás podrán consultar.
Esto deja en manos del programador cerrar la conexión cada vez que se realiza una consulta para que otro usuario pueda conectarse.
Otra operación que podemos realizar es dar de alta datos, Para ello debemos añadir los componentes para ingresar datos, en este caso un textbox por cada campo y un boton para el evento grabar datos.
Dentro del botón programaremos el evento Grabar
private void jButtonActionPerformed(java.awt.event.ActionEvent evt) { // TODO code application logic here try { Class.forName("org.sqlite.JDBC"); String dburl = "jdbc:sqlite:/home/test/sqlitetest/Empleados.db"; Connection conexion = DriverManager.getConnection(dburl); String id = idtxt.getText(); String nombre = nombretxt.getText(); String domicilio = domicilio.getText(); Statement Consulta = conexion.createStatement(); Consulta.executeUpdate("INSERT INTO Empleado " + "VALUES (11, txtid 'Mr.', 'Springfield', 2001)"); conexion.close(); }
Recordar siempre al final de cada transacción cerrar la conexión con la base de datos ya que estara en modo bloqueado.