miércoles, 22 de octubre de 2014

DAO (data acces object)

En el paquete Dao tendremos las conexiones a la base de datos , las querys (una clase por cada tabla de la base  con los metodos del CRUD que vamos a ver a continuación)

CRUD = Ingresar, consultar, actualizar y eliminar

public Boolean ingresar(CiudadDTO Ciudad, Connection conection)throws SQLException {
try{
String p = "INSERT INTO `ciudades` (`codigo`, `descripcion`,`fkciDepartamento`) VALUES ('"+Ciudad.getCodigo()+
"','"+Ciudad.getDescripcion()+"','" +Ciudad.getCod_depto().getCodigo()+"')";
PreparedStatement instruccion = conection.prepareStatement(p);
instruccion.executeUpdate();
return true;
}
catch (Exception e){
return false;
}

}

public Boolean Actualizar(CiudadDTO Ciudad, Connection conexion) throws SQLException {

try {
String p = "UPDATE `ciudades` SET `CodigoCiudad`='" + Ciudad.getCodigoCiudad() + "' WHERE `NombreCiudad`='" + Ciudad.getNombreCiudad() + "'";
PreparedStatement instruccion = conexion.prepareStatement(p);
instruccion.executeUpdate();
return true;
}

catch (Exception e) {
return false;

}


}

public Boolean eliminar(CiudadDTO Ciudad, Connection conection) throws SQLException {
try {
String p = "DELETE FROM `ciudades` WHERE `CodigoCiudad`='" + Ciudad.getNombreCiudad() + "'";
PreparedStatement instruccion = conection.prepareStatement(p);
instruccion.executeUpdate();
return true;
} catch (Exception e) {
return false;
}
}

public List<CiudadDTO> consultarCiudad(Connection conexion) throws Exception {
List<CiudadDTO> listCiudad = new ArrayList<CiudadDTO>();
PreparedStatement ps = conexion.prepareStatement("SELECT CodigoCiudad, NombreCiudad FROM ciudades");
try  {

ResultSet rs = ps.executeQuery();
while (rs.next()) {
CiudadDTO ciudadDTO = new CiudadDTO();
ciudadDTO.setCodigoCiudad(rs.getString("CodigoCiudad"));
ciudadDTO.setNombreCiudad(rs.getString("NombreCiudad"));
listCiudad.add(ciudadDTO);
}

rs.close();
return listCiudad;
}finally {

}

}

domingo, 3 de agosto de 2014

Tips para una buena programación .

Tips para una buena programación .

 

PROGRAMACIÓN DEFENSIVA.

   Protege tu programa de inputs inválidos: hay algunos inputs que pueden generar acciones en el sistema si  este no se protege.

2.     Verifica y controla que las cadenas de texto(inputs) que se ingresen en los campos  de texto o formularios de tu software no tengan scripts o  fragmentos de código.

3.     Ten un lugar de aterrizaje cuando te ingresen un input valido, asi no mostraras ninguna información de tu servidor de base de datos.(cuando no hay control un input malo muestra detalles del servidor y de las variables que existen).(maneja páginas de error)

4.     Usa fragmentos de código o variables booleanas que te permitan saber si hay algún error.  Por ejemplo assertions: si la variable assert se vuelve falsa es por que hay un error en el sistema. Te servirá para detectar mas temprano los errores.

5.     Mantén un log(registro o historial) de errores que vallas notando en el sistema y guárdalo en un archivo de texto que puedas revisar.

6.     Muchas veces la mejor manera de manejar un mal dato es que el software siga corriendo y simplemente retornar un valor neutro o algo predeterminado.

7.     En algunas es bueno controlar que si hay algo malo que siga con el próximo dato hasta que encuentre uno que funcione.(si un cd se le rayo una pista pues entonces que no la lea y que se adelante hasta una pista buena)

8.     Maneja códigos de ayuda, ósea si el programa esta corriendo y encuentra un error puedes reemplazarlo con otro código que sirva para continuar.

9.     Trabaja con try y catch que sirven para el manejo de excepciones .

10.Usa las técnicas de manejo de errores.

 

viernes, 31 de enero de 2014

crear y programar

Programar es tener en la punta de tus dedos el poder de la creación.
Cuando una persona crea algo esta dejando una parte de si mismo, una esencia que solo esa persona es capaz de dejar, cada uno de  nosotros  esta diseñado con el mayor grado de detalle de ingeniería y de arquitectura. Nos dieron el don de crear, de poder expresar e improvisar con la explosión de cada neurona.