Mostrando entradas con la etiqueta libreria. Mostrar todas las entradas
Mostrando entradas con la etiqueta libreria. Mostrar todas las entradas

domingo, 6 de diciembre de 2015

Clase MySQLConnection java

Hola amig@s en esta ocasión les traigo algo diferente a lo habitual se trata de una clase de conexión para  MySQL  con la cual se pretende simplificar este proceso que suele ser algo tedioso, esta clase cuenta ademas de métodos para realizar las operaciones de insertar, modificar, eliminar y consultar a MySQL desde una aplicación java:

Código:

import java.sql.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class MySQLConnection { String userName = "root"; String password = "root"; String url = "jdbc:mysql://localhost/"; String urlDriver = "com.mysql.jdbc.Driver"; String database = "database"; Connection con; Statement st; ResultSet rs; /** * constructor vacio * @usage MySQLConnection connect = new MySQLConnection(); */ public MySQLConnection() { } /** * @return retorna la conexion a la base de datos * @use Statement st = connect.OpenConnection().createStatement(); */ public Connection OpenConnection() { con = null; try { Class.forName(urlDriver).newInstance(); con = DriverManager.getConnection(url + database, userName, password); System.out.println("connect"); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e) { System.out.println(e.getMessage()); } return con; } /** * * @use connect.CloseConnection(connect.con) */ public void CloseConnection() { try { con.close(); System.out.println("close connection"); } catch (SQLException e) { System.out.println(e.getMessage()); } } /** * * @param con cierra la conexion a la base de datos * @use connect.CloseConnection(connect.con) */ public void CloseConnection(Connection con) { try { con.close(); System.out.println("close connection"); } catch (SQLException e) { System.out.println(e.getMessage()); } } /** * @param sql query para un select * @return rs retorno de la consulta efectuada caso contrario retorna null * @use */ public ResultSet executeQuery(String sql) { try { st = OpenConnection().createStatement(); rs = st.executeQuery(sql); return rs; } catch (Exception e) { System.out.println(e.getMessage()); } return null; } /** * * @param sql query para un select * @return rs retorno de la consulta efectuada caso contrario retorna null */ public boolean executeUpdate(String sql) { try { st = OpenConnection().createStatement(); rs = st.executeQuery(sql); return true; } catch (Exception e) { System.out.println(e.getMessage()); } return false; } /** * * @param pstm query para un select * @return rs retorno de la consulta efectuada caso contrario retorna null */ public ResultSet PreparedStatementExecuteQuery(PreparedStatement pstm) { try { rs = pstm.executeQuery(); return rs; } catch (Exception e) { System.out.println(e.getMessage()); } return null; } /** * * @param pstm query para un select * @return rs retorno de la consulta efectuada caso contrario retorna null */ public boolean PreparedStatementExecuteUpdate(PreparedStatement pstm) { try { pstm.executeUpdate(); return true; } catch (Exception e) { System.out.println(e.getMessage()); } return false; } /** * * @param sql query para crear un PreparedStatement para agregar los datos * @return rs retorno de la consulta efectuada caso contrario retorna null */ public PreparedStatement create(String sql){ try { PreparedStatement pstm=OpenConnection().prepareStatement(sql); return pstm; } catch (SQLException ex) { System.out.println(e.getMessage()); } return null; } }
Ejemplo de uso: Este es un pequeño ejemplo de un login utilizando dicha clase.

import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; import java.sql.PreparedStatement; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; public class Operations { Statement st; ResultSet rs; MySQLConnection mysqlconnect; PreparedStatement pstm; public Operations() { mysqlconnect = new MySQLConnection(); } public void insertUser(String user, String password, int accessLevel) { try { pstm = mysqlconnect.create("insert into usuario values(?,?,?)"); pstm.setString(1, user); pstm.setString(2,password); pstm.setInt(3, accessLevel); mysqlconnect.PreparedStatementExecuteUpdate(pstm); mysqlconnect.CloseConnection(mysqlconnect.con); } catch (SQLException | NoSuchAlgorithmException | UnsupportedEncodingException ex) { System.out.println("Error to insert: " + ex.getMessage()); } } public String getPassword(String user) { String pass = null; try { pstm = mysqlconnect.create("select password from usuario where user=?"); pstm.setString(1, user); rs = mysqlconnect.PreparedStatementExecuteQuery(pstm); rs.next(); pass = rs.getString(1); rs.close(); mysqlconnect.CloseConnection(); } catch (SQLException ex) { System.out.println("user not found: "+ex.getMessage()); } return pass; } }

domingo, 13 de octubre de 2013

Libreria Console.h v1.0 C++

Hola amig@s esta vez les traigo algo distinto que solo subir código de programas. En esta ocasión quiero compartir con ustedes un conjunto de funciones que he recopilado y otras que de alguna forma he escrito a mi conveniencia y decidí crear una librería estática pero esto no quiere decir que solo subiré el .h y el .lib y que ustedes tengan que linkear la librería para poder utilizar las funciones contenidas en dicha librería sino que pondré 3 diferentes formas de descarga la primera sera descargar todo el proyecto que por el momento esta en VS2010 express; la segunda el .lib con sus respectivos archivos fuentes y la tercera forma son únicamente los archivos fuentes.

Archivos Contenidos:

- CONSOLE.h : contiene todos los prototipos de las funciones de la librería.

- CONSOLE.cpp : contiene todas las definiciones de las funciones.

- Keyboard.h : contiene las definiciones de los códigos de algunas teclas. En la próxima versión espero poder completado esta cabecera ya que solo resta incluir las teclas especiales (alt,ctrl,f1,etc), también símbolos entre otras.

- testLIB.cpp : contiene un pequeño ejemplo de como utilizar el mouse en consola y del teclado.

Funciones:


void initConsole( void );//iniciamos los manejadores de entrada y salida de la consola 
void Color( int );//Cambiamos el color de la fuente 
void OcultaCursor( void );//Ocultamos el cursor
void gotoxy( int , int );//Posicionamos el cursor en las cordenadas x y
void clearToColor( int );//Borramos la consola por un color de 0 a 15 (0 = Negro, 15 = Blanco Brillante)
void textOut(int, int, char*, int );//Mostramos texto en las cordenada x y 
void ErrorExit ( char*, char* );//Si ocurre un error Mostramos un mensaje y salimos de la aplicacion
void drawRect( int[2], int[2], int );//Dibuja un un rectangulo del color que querramos
void drawRect( int[2], int[2], char*, int );//Dibuja un un rectangulo del color que querramos y le enviamos el caracter que queremos de muestre  
void drawFillRect( int[2], int[2], int );//Dibuja un un rectangulo relleno del color que querramos
void drawFillRect( int[2], int[2], char*, int );//Dibuja un un rectangulo relleno del color que querramos y le enviamos el caracter que queremos de muestre
void drawLineH( int[2], int, int );//Dibuja una linea horizontal del color que querramos
void drawLineH( int[2], int, char*, int );//Dibuja una linea horizontal del color y caracter que querramos
void drawLineV( int, int[2], int );//Dibuja una linea vertical del color que querramos
void drawLineV( int, int[2], char*, int );//Dibuja una linea vertical del color y caracter que querramos
COORD CoordMouse( void );//obtiene las coordenadas del mouse
void readConsole( void );//leemos los eventos que estan ocurriendo en la consola
bool keypressed( void );//vemos si se ha presionado una tecla
int readKey( void );//leemos el codigo de la tecla presionada
bool dobleClick( void );//vemos si se ha hecho doble click
int click( void );//vemos si se ha hecho click izq retorna 1 y si es derch retorna 2



Capturas:








Codigo:


#include
#include"CONSOLE.h"
using namespace std; 
int main(){
	int x[]={3,15},y[]={3,20},x2[]={20,32},y2[]={3,20};
	int f=0;
	COORD cr;
	/**/textOut(10,0,"Dibujando rectangulos",6);
	drawRect(x,y,7);
	drawRect(x2,y2,"*",9);
	Sleep(3000);
	clearToColor(1);
	textOut(10,0,"Dibujando rectangulos rellenos",6);
	drawFillRect(x,y,7);
	drawFillRect(x2,y2,"*",9);
	Sleep(3000);
	clearToColor(1);
	textOut(10,0,"Dibujando Lineas Horizontales",6);
	drawLineH(x,3,9);
	drawLineH(x2,3,"M",7);
	Sleep(3000);
	clearToColor(1);
	textOut(10,0,"Dibujando Lineas Verticales",6);
	drawLineV(3,y,9);
	drawLineV(6,y,"N",8);
	Sleep(2000);
	clearToColor(1);
	textOut(10,10,"Uso del mouse y teclado",6);
	Sleep(4000);
	clearToColor(1);
	fflush(stdin);
	fflush(stdout);
	/*Libera la vieja consola y comienza con una nueva ya 
	que por el momento hay conflicto la funcion clearToColor() con el uso del mouse dentro
	de la consola*/
	FreeConsole();
	AllocConsole();
	initConsole();
	do{
		Color(7);
		readConsole();
		cr=CoordMouse();
		gotoxy(1,0);cout<<"x: "<<(int)cr.X<<"Y: "<<(int)cr.Y;
		gotoxy(1,1);cout<<"tecla: "<<(char)f;
		textOut(1,2,"Para salir presione enter",8);
		
		if(click() == 1){
			cr=CoordMouse();
			gotoxy(cr.X,cr.Y);cout<<"CLICK IZQ";
		}else
			if(click() == 2){
				cr=CoordMouse();
				gotoxy(cr.X,cr.Y);cout<<"CLICK DER";
			}
		/* Reporta si se dio un doble click */
		if (dobleClick()){
			cr=CoordMouse();
			gotoxy(cr.X,cr.Y);cout<<"DOBLE CLICK ";
		}

		
		if(keypressed())
			f=readKey();
		Sleep(60);
	}while(f!=KEY_ENTER);
	ErrorExit("Saliendo del programa","TEST");
	return 0;
}



Descarga:

- Proyecto VS2010.

- Librería estática mas fuentes.

- Archivos Fuentes.