Conexion Java con mysql

15 de Abril de 2010

Cuando comenzaba con todo esto, recuerdo que no me quedaba muy clara la idea y me complicaba un poco, aqui se los pongo de manera facil y muy entendible.

Los requisitos son:

Lo primero que hay que haces es instalarse el MySQL Server (omitire la instalacion de mysqlserver pensando en que ya lo deben saber instalar que no es dificil). una vez instalado seguimos con el conector

Primero lo explicare si tienen netbeans, primero se crean un nuevo proyecto (o en el que esten trabajando), en este caso yo le llame “TestMysql”, una ves creado el proyecto, solo le dan clic derecho a bibliotecas y despues en “agregar biblioteca”

Despues de hacer esto eligen la biblioteca “Driver MySQL JDBC” y la añaden

Al final tendran ya todo listo para comenzar a trabajar.

En caso de que no vayan a usar netbeans deben haber descargado el conector que puse, lo unico que tienen que hacer es descomprimir el archivo que se llama “mysql-connector-java-5.0.8-bin.jar” (puede variar dependiendo de la version que descarguen) en su carpeta del jdk la direccion completa es (si tienen windows xp en lugar de program files es archivos de programa, el x86 solo aparece si su sistema operativo es de 64bits):

C:\Program Files (x86)\Java\jdk1.6.0_16\jre\lib\ext

o

C:\Program Files\Java\jdk1.6.0_16\jre\lib\ext

y ahi descomprimen solo el archvo que les nombre.

Ahora si, ya tenemos todo listo para comenzar a trabajarlo y les pondre un codigo de ejemplo de su uso.

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 *
 * @author Marco
 */
public class Main {

    static String bd = "nombreBD";
    static String login = "usuario";
    static String password = "password";
    static String url = "jdbc:mysql://localhost/"+bd;

    public static void main(String[] args) {
        //Creamos una variable para la conexion
        Connection conexion = null;
        try {
            Class.forName("com.mysql.jdbc.Connection");
            //Establecer la conexion con la base de datos
            conexion = (Connection) DriverManager.getConnection(url, login, password);
        }
        catch(Exception e) {
            System.out.println("No se pudo cargar el puente JDBC-ODBC." + e.getMessage());
        }
        try {
            //Con esta variable enviaremos el codigo SQL que necesitemos
            Statement sentencia =(Statement) conexion.createStatement();
            //La variable resultado almacenara los resultados de las consultas
            //sql que nosotros hagamos.
            ResultSet resultado = sentencia.executeQuery("CODIGO SQL");
            /*imaginemonos resultado como una pequeña tabla que apunta fuera de ella
             * cuando decimos resultado.next() entra en la table al primer registro
             * es ahi cuando ponemos obtener los datos del registro
             * pero debemos conocer las columnas de este
             * ejemplo una base de datos de prueba que tenga 3 campos
             *    1    |     2      |   3  esta fila solo representa los indices
             * nombre  |  apellido  | edad
             * ---------------------------
             *  marco  | miapellido |  20
             * el resultset siempre comienza en 1 por eso le puse los indices
             * apartir del numero 1 entonces mandamos a llamar a los registros
             * de la siguiente forma
             */
            while (resultado.next()){
                String nombre = resultado.getString(1);
                String apellido = resultado.getString(2);
                int edad = resultado.getInt(3);
                System.out.println("Nombre: " + nombre + " Apellido: " + apellido
                        + "Edad: " + edad);
            }
            conexion.close();
        } catch (SQLException e) {
            System.out.println("Hubo un problema al intentar obetener lo datos");
        }
    }
}

Call Of Duty Modern Warfare 2 en HD3650

13 de Abril de 2010

Pues este ha sido de los ultimos que he hecho, los anteriores aun no los publico pero pronto los pondre, de cualquier forma estan en mi canal de youtube.

Imagen de previsualización de YouTube

Corre muy bien con todo en alto, derrepente se alentaba por el fraps.

Left 4 Dead en ATI HD 3650

13 de Abril de 2010

Muy bien, desde hace algun tiempo actualize mi pc un poco, pase de una pentium 4 a 1.8ghz a un phenom x2 545 a 3ghz.

Lo malo fue que por todo lo que tuve que comprar para actualizarme, me quede sin mucho presupuesto para comprar un buen gpu, pero despues de mucho leer y con mi pobre monitor crt elegi una que me dejara jugar decentemente los juegos.

Asi que ire poniendo videos del rendimiento de estas.

En esta ocacion el primer video que hice Left 4 Dead

Imagen de previsualización de YouTube

jugando L4D en HD3650
Resolucion 1024×768
Todo en alto excepto

especificaciones:
CPU: Phenom X2 545 3Ghz
Ram: 2×1GB 1066Mhz
GPU: HD3650 512mb ddr2

sin fraps 25-30 frames
con fraps: 20-24 frames

Mxrck Black Style

8 de Enero de 2010

Bueno que desde hace rato ya tenia hecho este template pero ahorita lo acabo apenas de organizar. pueden verla en linea aqui: http://www.mxrck.comuv.com/Templates/MxrckBlackStyle/

Mxrck Black Style (Template)

Lo subo por ahora pueden descargarlo

boton-descarga

Pilas en C++

23 de Julio de 2009

Muy bien aqui les dejo unas funciones para manejar pilas en c++ ademas de un programa de ejemplo donde se muestra su uso.

PILAS

aqui los imports mejor dicho includes XD que uso en el programa de ejemplo.

#include <iostream.h>
#include <conio.h>

Estos son los metodos ( los que nos manejan la pila );

struct tpila{
int clave;
struct tpila *sig;
};
void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);
void crear(struct tpila **pila)
{  *pila = (struct tpila *) malloc(sizeof(struct tpila));
(*pila)->sig = NULL;
}
int vacia(struct tpila *pila){
return (pila->sig == NULL);
}
void apilar(struct tpila *pila, int elem){
struct tpila *nuevo;
nuevo = (struct tpila *) malloc(sizeof(struct tpila));
nuevo->clave = elem;  nuevo->sig = pila->sig;
pila->sig = nuevo;
}
void desapilar(struct tpila *pila, int *elem){
struct tpila *aux;
aux = pila->sig;
*elem = aux->clave;  pila->sig = aux->sig;
free(aux);
}

Y aqui un programa de ejemplo (es la funcion main).

struct tpila *pila;
int elem, numero, fuera;
int *numeros;
cout<<"Cuantos elementos deseas añadir a la pila?"
<<endl <<endl
<<"Numero: ";
cin>>numero;
numeros = new int [numero];
randomize();
for (int i = 0; i < numero; i++) {
numeros[i] = rand()%9;
}
getch();
cout<<"Ingresando a la pila" <<endl;
crear(&amp;amp;amp;amp;pila);
for (int i = 0; i < numero; i++) {
apilar( pila, numeros[i] );
}
getch();
cout<<"Los numeros en la pila son" <<endl;
for (int i = numero-1; i >= 0; i--) {
cout<<numeros[i] <<"\t" <<endl;
}
getch();
cout<<"Cuantos elementos desea eliminar de la pila???"
<<"Elementos: ";
cin>>elem;
if ( elem < numero )
for (int i = 0; i < elem; i++) {
desapilar( pila, &amp;amp;amp;amp;fuera );
cout<<fuera <<" fue liberado" <<endl;
}
else cout<<"No puedes sacar mas elementos de los disponibles, reinicia el programa";
getch();
return 0;