ejemplo 2103
import java.io.*;
import java.net.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class java2103 extends Applet {
static final int puerto = 6700;
String cadConsulta = "No hay consulta todavia";
String cadResultado = "No hay resultados";
Button boton;
TextArea texto;
List lista;
public void init() {
setLayout( new GridLayout( 5,1 ) );
texto = new TextArea( 20,40 );
lista = new List();
boton = new Button( "Ejecutar Consulta" );
boton.addActionListener( new MiActionListener() );
add( new Label( "Escribir la consulta aqui..." ) );
add( texto );
add( boton );
add( new Label( "y examinar los resultados aqui" ) );
add( lista );
resize( 800,800 );
}
void abreSocket() {
Socket s = null;
try {
s = new Socket( getCodeBase().getHost(),puerto );
BufferedReader sinstream =
new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintStream soutstream = new PrintStream( s.getOutputStream() );
soutstream.println( texto.getText() );
lista.removeAll();
cadResultado = sinstream.readLine();
while( cadResultado != null ) {
lista.add( cadResultado );
cadResultado = sinstream.readLine();
}
} catch( IOException e ) {
System.err.println( e );
} finally {
try {
if( s != null )
s.close();}
catch( IOException e ) {}
}
}
class MiActionListener implements ActionListener {
public void actionPerformed( ActionEvent evt ) {
abreSocket();
}
}
}
ejemplo 2104
import java.net.URL;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
public class java2104 extends Frame implements MouseListener {
Button botConexion = new Button( " Conexión a la Base de Datos " );
Button botConsulta = new Button( " Ejecutar Consulta " );
TextField txfConsulta = new TextField( 40 );
TextArea txaSalida = new TextArea( 10,75 );
TextField txfUsuario = new TextField( 40 );
TextField txfClave = new TextField( 40 );
TextField txfUrl = new TextField( 40 );
String strUrl = "";
String strUsuario = "";
String strClave = "";
// El objeto Connection es parte del API de JDBC, y debe ser lo
// con la Base de Datos
Connection con;
public static void main( String args[] ) {
java2104 ventana = new java2104();
// Se recoge el evento de cierre de la ventana
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent evt ) {
System.exit( 0 );
}
} );
ventana.setSize( 450,300 );
ventana.setTitle( "Tutorial de Java, JDBC" );
ventana.pack();
ventana.setVisible( true );
}
public java2104() {
txfConsulta.setEditable( true );
txfUsuario.setEditable( true );
txfUrl.setEditable( true );
txaSalida.setEditable( false );
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints gbCon = new GridBagConstraints();
setLayout( gridbag );
setFont( new Font( "Helvetica",Font.PLAIN,12 ) );
setBackground( Color.orange );
gbCon.weightx = 1.0;
gbCon.weighty = 0.0;
gbCon.anchor = GridBagConstraints.CENTER;
gbCon.fill = GridBagConstraints.NONE;
gbCon.gridwidth = GridBagConstraints.REMAINDER;
add( new Label( "Usuario" ) );
gridbag.setConstraints( txfUsuario,gbCon );
add( txfUsuario );
add( new Label( "Clave de Acceso" ) );
gridbag.setConstraints( txfClave,gbCon );
add( txfClave );
add( new Label( "URL de la Base de Datos" ) );
gridbag.setConstraints( txfUrl,gbCon );
add( txfUrl );
// Ahora viene la fila en que está el botón de Conexión a la
// base de datos, fijamos los constraints para que eso sea así
// y lo añadimos
gridbag.setConstraints( botConexion,gbCon );
add( botConexion );
botConexion.addMouseListener( this );
// su envío al driver JDBC
add( new Label( "Consulta SQL" ) );
gridbag.setConstraints( txfConsulta,gbCon );
add( txfConsulta );
gridbag.setConstraints( botConsulta,gbCon );
add( botConsulta );
botConsulta.addMouseListener( this );
Label labResultado = new Label( "Resultado" );
labResultado.setFont( new Font( "Helvetica",Font.PLAIN,16 ) );
labResultado.setForeground( Color.blue );
gridbag.setConstraints( labResultado,gbCon );
gbCon.weighty = 1.0;
add( labResultado );
gridbag.setConstraints( txaSalida,gbCon );
txaSalida.setForeground( Color.white );
txaSalida.setBackground( Color.black );
add( txaSalida );
}
public void mouseClicked( MouseEvent evt ) {
if( evt.getComponent() == botConsulta ) {
System.out.println( txfConsulta.getText() );
txaSalida.setText( Select( txfConsulta.getText() ) );
}
if( evt.getComponent() == botConexion ) {
// Se fijan las variables globales de usaurio, clave y url a
// los valores que se hayan introducido en los campos
strUsuario = txfUsuario.getText();
strClave = txfClave.getText();
strUrl = txfUrl.getText();
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
// La conexión aquí se realiza indicando la URL de la base de
// datos y el usuario y clave que dan acceso a ella
con = DriverManager.getConnection( strUrl,strUsuario,strClave );
// Si la conexión ha sido satisfactoria, cambiamos el rótulo
// del botón de conexión, para que indique que si se pulsa lo
// que se realiza será la "Reconexión"
botConexion.setLabel( "Reconexión a la Base de Datos" );
txaSalida.setText( "Conexion establecida con "+strUrl );
} catch( Exception e ) {
// Se presenta la información correspondiente al error, tanto
// en la consola como en la zona de salida de la ventana
e.printStackTrace();
txaSalida.setText( e.getMessage() );
}
}
}
public void mouseEntered( MouseEvent evt ) {}
public void mouseExited( MouseEvent evt ) {}
public void mousePressed( MouseEvent evt ) {}
public void mouseReleased( MouseEvent evt ) {}
// Este es el método que realiza la consulta
public String Select( String consulta ) {
String resultado="";
int cols;
int pos;
try {
// En primer lugar, se instancia la clase Statement, que es
Statement sentencia = con.createStatement();
ResultSet rs = sentencia.executeQuery( consulta );
cols = ( rs.getMetaData() ).getColumnCount();
while( rs.next() ) {
// Se recorre ahora cada una de las columnas de la fila, es
// decir, cada celda, una a una
for( pos=1; pos <= cols; pos++ ) {
// Este es el método general para obetener un resultado. el
resultado += rs.getString( pos )+" ";
}
// Para cada fila que se revise, se le añade un retorno de
// carro, para que la siguiente fila empiece en otra línea
resultado += "\n";
}
sentencia.close();
} catch( Exception e ) {
e.printStackTrace();
resultado = e.getMessage();
}
return resultado;
}
}
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario