Que tal pues seguimos con la saga, en esta parte veremos como hacer consultas desde la interfas grafica, empecemos.
Consultas a MySQL desde interfas grafica con NETBEANS.
Para empesar hay que crear un archivo nuevo, Formulario GUI JAVA > Formulario JFrame >

Despues le asignamos un nombre que en este caso sera CONSULTAS y le damos terminar.

Ya que tenemos nuestro JFrame vamos a garegar una caja de texto un boton y una tabla que es donde vamos a visualizar los resultados de la consulta, al final obtendremos algo asi.

Ahora, recordando la estructura de la base de datos que hemos estado usando, los campos que tenemos disponibles son los siguientes:
CREATE TABLE DATOS
(
NOMBRE VARCHAR(25),
TELEFONO VARCHAR(15),
CORREO VARCHAR(25),
TWITTER VARCHAR(30)
);
Los resultados que vamos a obtener de la consulta, los vamos a recibir en la tabla, por lo mismo la tabla debe de tener las mismas columnas, estas tablas no son tan dinamicas, como los arreglos en C o demas lenguajes, (o al menos no le he encontrado la forma : ) si saben se aceptan sugerencias ). Para modificar las propiedades de la tabla como columnas, filas, y tipos de datos que albergaran las columnas hay que seleccionar el objeto tabla, y dirigirse a la columna derecha, donde se encuantra la seccion de propiedades, ahi buscaremos el atributo de "MODEL", este atributo no tiene ningun valor, pero tiene un boton al final de campo con tres puntos [...], al dar click en el boton nos mostrara el menu, de la propiedades de la tabla.

En esta ventana modificaremos el nombre de las columnas que tiene la tabla segun sea el caso, y el tipo de datos que contendra la columna, lo podemos dejar como Object, pero lo cambiaremos a String. En la pestana de Valores predeterminados podremos ver una vista previa de la tabla, ademas de poder agregar columnas y filas con los botones que se encuentran en la parte inferior izquierda. Al termniar obtendremos esto:

Teniedo el formulario listo, empezaremos con la programacion de la consulta a mysql. Cambiaremos el nombre de la caja de texto para manejarlo mas facil, para nuestro caso se llamara txtNombre.
Agregaremos un evento al boton de tipo mouseReleased para hacer la consulta y ahi debe ir el siguiente codigo:
//Esta es la cadena a ejecutar en el servido de mysql se le pasa como parametro txtNombre, que es la caja de texto //donde se introduce el nombre a buscar, con el metodo getTex(), para obtener el texto introducido, y toStrin() para //convertir a String la cadena de la caja del texto.
String cadena="SELECT * FROM DATOS WHERE NOMBRE LIKE '%"+txtNobre.getText().toString()+"%';";
//No olvidar que las conexiones siempre se manejan dentro de try, para el manejo de excepciones de lo contrario siempre //les manejara un error aun que el codigo este bien
try
{
//Le indicamos el driver a usar
Class.forName("com.mysql.jdbc.Driver").newInstance();
//Le indicamos los datos correspondientes en la cadena de conexion, ip del servido, Base de datos usuario y pass
conexion=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/AGENDA","user","passwd");
sentencia=conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
//Aqui ejecutamos la sentencia de la consulta
resultado=sentencia.executeQuery(cadena);
//Mientras la consulta arroje resultados va entrar al while
while(resultado.next())
{
//El for nos servira para ir recorriendo los datos que recojimos de la consulta, el contador comienza en uno (no en cero //como los areglos en C) el indice i nos servira para ir pasando de columna en columna, tanto en la tabla como en los //resultados de la consulta,el indice j sera para ir saltando de fila en fila despues de cada recorrido de columnas
for(i=1;i<=4;i++)
{
Tabla.setValueAt(resultado.getString(i),j,i-1);
}
j=j+1;
}
}
//Por ultimo el catch para manejar las excepciones si entra al catch mandaremos a imprimir la variable e que es donde se //guardara el mensaje de la excepcion
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"error: "+e);
}
Y aqui esta la prueba (Las etiquetas estan al reves pero nada de importancia
).

Y listo espero les sirva de ayuda, comentarios, quejas o sujerencias ya saben a donde
Saludos
Edwin
August 8th, 2008 at 7:29 am
Como haces para llamar al formulario en el Main
Alan
October 26th, 2008 at 6:27 pm
Podrias pasarte el ejemplito porfavor?, es que cuando trato de hacer mi consulta me sale el error ” java.Lang.nullpointerException…
creo que la parte del for esta mal eso de “i & lt;=4″…
SALU2
Christian
March 18th, 2009 at 4:10 am
¡Qué excelente post! Muchas gracias por esto. Sólo una cosa, cuando no se digita nada y se presiona el botón aparecen en el JTable los datos de la tabla DATOS, habría que hacer una validación de ello. Y para lo del for, Alan, es:
for(i=1;i<=4;i++)
yovany
March 18th, 2009 at 5:11 am
Buena observacion Christian
Gracias por el cometario
Saludos