BASE DE DATOS CON JAVA PARTE 1

Una base de datos es una serie de tablas que contienen información ordenada en alguna estructura que facilita el acceso a esas tablas, ordenarlas y seleccionar filas de las tablas según criterios específicos. Las bases de datos generalmente tienen índices asociados a alguna de sus columnas, de forma que el acceso sea lo más rápido posible.

EJEMPLOS:
ejemplo 2101

import java.sql.*;

class java2101 {
static public void main( String[] args ) {
Connection conexion;
Statement sentencia;
ResultSet resultado;
System.out.println( "Iniciando programa." );
// Se carga el driver JDBC-ODBC
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
} catch( Exception e ) {
System.out.println( "No se pudo cargar el puente JDBC-ODBC." );
return;
}
try {
// Se establece la conexión con la base de datos
conexion = DriverManager.getConnection( "jdbc:odbc:Tutorial","","" );
sentencia = conexion.createStatement();
try {
// Se elimina la tabla en caso de que ya existiese
sentencia.execute( "DROP TABLE AMIGOS" );
} catch( SQLException e ) {};

// Esto es código SQL
sentencia.execute( "CREATE TABLE AMIGOS ("+
" NOMBRE VARCHAR(15) NOT NULL, " +
" APELLIDOS VARCHAR(30) NOT NULL, " +
" CUMPLE DATETIME) " );
sentencia.execute( "INSERT INTO AMIGOS " +
"VALUES('JOSE','GONZALEZ','03/15/1973')" );
sentencia.execute( "INSERT INTO AMIGOS " +
"VALUES('PEDRO','GOMEZ','08/15/1961')" );
sentencia.execute( "INSERT INTO AMIGOS " +
"VALUES('GONZALO','PEREZ', NULL)" );
} catch( Exception e ) {
System.out.println( e );
return;
}
System.out.println( "Creacion finalizada." );
}
}

ejemplo 2102

import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.*;

public class java2102 extends Thread {
public static final int PUERTO = 6700;
ServerSocket socketEscucha;

public java2102() {
try {
socketEscucha = new ServerSocket( PUERTO );
} catch( IOException e ) {
System.err.println( e );
}
this.start();
}

public void run() {
try {
while( true ) {
Socket socketCliente = socketEscucha.accept();
SQLConexion c = new SQLConexion( socketCliente );
}
} catch( IOException e ) {
System.err.println( e );
}
}

public static void main( String[] argv ) {
new java2102();
}
}


class SQLConexion extends Thread {
protected Socket cliente;
protected BufferedReader in;
protected PrintStream out;
protected String consulta;

public SQLConexion( Socket socketCliente ) {
cliente = socketCliente;
try {
in = new BufferedReader( new InputStreamReader( cliente.getInputStream() ) );
out = new PrintStream( cliente.getOutputStream() );
} catch( IOException e ) {
System.err.println( e );
try {
cliente.close();
} catch( IOException e2 ) {};
return;
}
this.start();
}

public void run() {
try {
consulta = in.readLine();
System.out.println( "Lee la consulta <" + consulta + ">" );
ejecutaSQL();
} catch( IOException e ) {}
finally {
try {
cliente.close();
} catch( IOException e ) {};
}
}

public void ejecutaSQL() {
Connection conexion; // Objeto de conexión a la base de datos
Statement sentencia; // Objeto con la sentencia SQL
ResultSet resultado; // Objeto con el resultado de la consulta SQL
ResultSetMetaData resultadoMeta;
boolean mas; // Indicador de si hay más filas
String driver = "jdbc:odbc:Tutorial";
String usuario = "";
String clave = "";
String registro;
int numCols, i;

try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
conexion = DriverManager.getConnection( driver,usuario,clave );

sentencia = conexion.createStatement();
resultado = sentencia.executeQuery( consulta );

mas = resultado.next();
if( !mas ) {
out.println( "No hay mas filas." );
return;
}

resultadoMeta = resultado.getMetaData();
numCols = resultadoMeta.getColumnCount();
System.out.println( numCols + " columnas en el resultado.");
while( mas ) {
// Se construye la cadena de respuesta
registro = "";
for( i=1; i <= numCols; i++ ) {
registro = registro.concat( resultado.getString(i)+" " );
}
out.println( registro );
System.out.println( registro );
mas = resultado.next();
}

resultado.close();
sentencia.close();
conexion.commit();
conexion.close();
} catch( Exception e ) {
System.out.println( e.toString() );
}
}
}

0 comentarios:

Publicar un comentario