Vous êtes sur la page 1sur 7

Declaraciones importantes

RandomAccessFile file;
ArrayList<CuentaBancaria> listaCuentas =new
ArrayList<CuentaBancaria>();
HashMap<String,Integer> listaAutorizados=new
HashMap<String,Integer>();
Connection con;

Abrir Ficheros:
public void abrirFichero(String modo) {
File ficheroDatos;
ficheroDatos=new File("./src/datosCuentas.dat");
if (ficheroDatos !=null)
{
if (ficheroDatos.exists()){
try
{
file = new RandomAccessFile(ficheroDatos, modo);
}
catch (Exception e){
escribirConsola("Fallo en la conexin con el servidor.",true);
}
//En el caso de que hayamos podido encontrar el fichero y lo
hayamos procesado bien
//Indicamos que esta todo correcto (hablamos de servidor que
sera lo que se hara en una aplicacin real
escribirConsola("Conexin con el servidor establecida.",false);
}
else
{
//Mostrar problema de perdida del fichero de datos, aunque nos
referimos a servidor
escribirConsola("No se encuentra el servidor.",true);

}
}
}

Escribir en fichero
try {
while (file.getFilePointer()!=file.length())
{
//Voy leyendo los datos del fichero
s=file.readUTF();
.

Cargar Listado en Tabla:


public void cargaListadoCuentas()
{
String[] columnNames ={"CCC", "Nombre","Apellidos","Fecha
Nac","Saldo"};
String[] fila=new String[5];
DefaultTableModel dtm= new DefaultTableModel();
CuentaBancaria temp;
dtm.setColumnIdentifiers(columnNames);
for (int i=0;i<listaCuentas.size();i++)
{
temp=listaCuentas.get(i);
fila[0]=temp.getCcc();
fila[1]=temp.getTitular().getNombre();
fila[2]=temp.getTitular().getApellidos();
fila[3]=temp.getTitular().getFechaNacimiento();
fila[4]=""+temp.getSaldo();
dtm.addRow(fila);
}
jScrollPane1.setAutoscrolls(true);
tablaCuentas.setAutoscrolls(true); ;
tablaCuentas.setVisible(true);

tablaCuentas.setModel(dtm);
}
Para recoger los datos de una tabla:
tabla.getValueAt(fila, 0)

Recorrer una lista y consultar el tipo de un objeto


//Voy a usar instanceof para detectar que tipo de cuenta es
if (cuenta instanceof CuentaCorriente)
{
String s=cuenta.toString();
cargaAutorizadosFichero(s.substring(s.indexOf("listAut=",0)+8,s.indexOf("}"
,s.indexOf("listAut=",0))));;
Iterator it = listaAutorizados.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry)it.next();
lAutorizados.addItem(e.getKey() + ". " + e.getValue());
}

Guarda en MapList datos


/**
* La funcin coge los autorizados que estn en el scroll y los guarda en la
variable global
*/
public void cargaAutorizados() {
listaAutorizados.clear();
for (int i=0;i<lAutorizados.getItemCount();i++)
{
int indice=lAutorizados.getItemAt(i).indexOf("");
listaAutorizados.put(lAutorizados.getItemAt(i).substring(0,indice-3),
Integer.parseInt(lAutorizados.getItemAt(i).substring(indice+1,lAutorizados.g
etItemAt(i).length())));
}
}

Conectar BD
public boolean conectaBD(){

try {
// Cargar el driver de mysql
Class.forName("com.mysql.jdbc.Driver");
// Cadena de conexin para conectar con MySQL en localhost,
//seleccionar la base de datos llamada test
// con usuario y contrasea del servidor de MySQL: root y admin
String connectionUrl = "jdbc:mysql://localhost/test?" +
"user=root&password=";
// Obtener la conexin
con = DriverManager.getConnection(connectionUrl);
}
catch (SQLException e) {
mensaje.setText("SQL Exception: "+ e.toString());
return false;
}
catch (ClassNotFoundException cE) {
mensaje.setText("ClassNotFound Exception: "+ cE.toString());
return false;
}
return true;
}

Ejemplo de comando SQL


String sqlCreate = "CREATE TABLE IF NOT EXISTS CLIENTES "
+ "(cod_cliente

VARCHAR(10) NOT NULL PRIMARY KEY ,"

+ "nombre

VARCHAR(50),"

+ "telefono

VARCHAR(9) "

+ ")";
cadena="INSERT INTO CLIENTES (cod_cliente, nombre, telefono)"
+ " VALUES ('" + jTextField1.getText()
+ "', '" + jTextField2.getText()
+ "', '" + jTextField3.getText()
+"')" ;

query="UPDATE CLIENTES SET cod_cliente='"+ jTextField1.getText()


+ "', nombre='" + jTextField2.getText()
+ "', telefono='" + jTextField3.getText()
+ "' WHERE cod_cliente='" + clave[0]
+"'";
Statement st;
try {
st = con.createStatement();
st.execute(sqlCreate);
} catch (SQLException e) {
mensaje.setText("SQL Exception: "+ e.toString());
}
Alternativa si es un update o delete o select:
int resultado=st.executeUpdate(cadena);
if (resultado==1)
mensaje.setText("Operacin Correcta");
Para revisar el resultado de por ejemplo un Select
while (rs.next())
{
fila[0]=rs.getString(1);

Cdigo para no permitir teclear caracteres que no


queremos en una caja de texto
private void jTextField3KeyTyped(java.awt.event.KeyEvent evt) {
char c=evt.getKeyChar();
if (jTextField3.getText().length()== max3[opcion])
{
evt.consume();
getToolkit().beep();
}
if(Character.isLetter(c) && (opcion==0)) { //En el caso de que sea el
telefono solo puede ser numerico

getToolkit().beep();
evt.consume();
}
}

Comprobacion letras del DNI


private static final String LETRAS_DNI= "TRWAGMYFPDXBNJZSQVHLCKE";
public static boolean validarNIF (String nif) {
boolean valido= true; // Suponemos el NIF vlido mientras no se
encuentre algn fallo
char letra_calculada;
char letra_leida;
int dni_leido;
if (nif == null) { // El parmetro debe ser un objeto no vaco valido=
false;}
else if (nif.length()<8 || nif.length()>9) {
lon de 8(7+1) y 9(8+1)

// La cadena debe tener

valido= false; }
else {
letra_leida= DNI.extraerLetraNIF (nif);

// Extraemos la letra de

NIF (letra)
dni_leido= DNI.extraerNumeroNIF (nif); // Extraemos el nmero
de DNI (int)
letra_calculada= LETRAS_DNI.charAt(dni % 23);
if (letra_leida == letra_calculada) { // Comparamos la letra extrada con
la calculada
// Todas las comprobaciones han resultado vlidas. El NIF es
vlido.
valido= true;

else {

valido= false;

}
return valido;

Cuadro de dialogo de seleccionar fichero


private void mAbrirTrabActionPerformed(java.awt.event.ActionEvent evt) {
//Creamos el filtro

FileNameExtensionFilter filtro = new FileNameExtensionFilter("*.TXT",


"txt");
//Le indicamos el filtro
jFileChooser1.setFileFilter(filtro);
jFileChooser1.setCurrentDirectory(new File("./src/"));
jFileChooser1.setSelectedFile(new File("Trabajadores.txt"));
jFileChooser1.showOpenDialog(jPanel2);

ficheroTrab=jFileChooser1.getSelectedFile();
if (ficheroTrab !=null)
{
try
{
RandomAccessFile file = new RandomAccessFile(ficheroTrab, "r");
String s;
Trabajador trab;
while (file.getFilePointer()!=file.length())
{
s=file.readUTF();
trab=new Trabajador(s);
trabajadores.add(trab);
}
file.close();
}
catch (Exception e){}
if (ficheroEmp!=null)
{
habilitaTodo();
}
}
}