Después de un poco de retraso de este post y de tener un poco de tiempo sin postear algo, traigo este ejemplo (el tercero) de Java y MySQL bajo la plataforma Netbeans. El propósito de este post es crear una clase que realmente realiza las acciones básicas (agregar, modificar, eliminar, consultar) pero implementadas de una “mejor manera” comparada con los otros post que hay en este blog sobre este tema (tampoco quiero decir que sea la mejor ni mucho menos).
La base de datos que usaremos para este ejemplo es la siguiente:
- BD: prueba.
- tabla: usuarios.
- campos: id(autoinc), nombre, contraseña.
Diagrama de clases:
Bueno, primero que nada empezaremos con nuestra clase que contendrá los métodos de las acciones que vamos a realizar.
import java.sql.*;
import java.util.Hashtable;
public class SQLconnection {
private String user;
private String password;
private String db;
private String host;
private String url;
private Connection conn = null;
private Statement stm;
private ResultSet rs;
public SQLconnection()
{
this.url = “jdbc:mysql://” + this.host + “/” + this.db;
}
public SQLconnection (String server, String usuario, String contraseña, String bd)
{
this.user = usuario;
this.password = contraseña;
this.db = bd;
this.host = server;
this.url = “jdbc:mysql://” + this.host + “/” + this.db;
}
public void connectar()
{
try {
Class.forName(“org.gjt.mm.mysql.Driver”);
conn = DriverManager.getConnection(url, user, password);
if (conn != null)
{
System.out.println(“Conexión a base de datos “+url+” … Ok”);
stm = conn.createStatement();
}
}
catch(SQLException ex) {
System.out.println(“Hubo un problema al intentar conectarse con la base de datos “+url);
}
catch(ClassNotFoundException ex) {
System.out.println(ex);
}
}
public String getDb() {
return db;
}
public void setDb(String db) {
this.db = db;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public ResultSet consultar(String tabla) throws SQLException
{
rs = stm.executeQuery(“SELECT * FROM ” + tabla);
return rs;
}
public String buscarNombre(String tabla, String nombre) throws SQLException
{
String name = null;
try{
rs = stm.executeQuery(“SELECT * FROM ” + tabla + ” WHERE nombre = ‘”+ nombre +”‘ LIMIT 1″);
rs.next();
name = rs.getString(2);
}catch(SQLException ex){System.out.println(ex);}
return name;
}
public void insertar(Hashtable usuario)
{
try {
stm.execute(“INSERT INTO usuarios (nombre, contraseña) VALUES (‘” + usuario.get(“nombre”) + “‘,’” + usuario.get(“contraseña”) + “‘)”);
} catch (SQLException ex) {
System.out.println(ex);
}
}
public void actualizar(String tabla, Hashtable usuario, String nombre)
{
try {
stm.execute(“UPDATE ” + tabla + ” SET nombre=’” + usuario.get(“nombre”) + “‘ WHERE nombre=’” + nombre + “‘”);
} catch (SQLException ex) {
System.out.println(ex);
}
}
public void eliminar(String tabla, String nombre)
{
try {
stm.execute(“DELETE FROM ” + tabla + ” WHERE nombre=’” + nombre + “‘”);
} catch (SQLException ex) {
System.out.println(ex);
}
}
}
Como podemos observar, esta clase cuenta con sobrecarga de constructores lo cual nos permite conectarnos de 2 maneras distintas a la base de datos. La primera es utilizar el constructor que no recibe ningún parámetro y definirlos mediante los métodos set y get para después llamar al método conectar. La segunda es enviarle directamente los valores al constructor y, al igual que en la forma anterior, ejecutar el método conectar, y esta será la forma que usaremos para nuestro ejemplo.
Primero que nada vamos a conectarnos a nuestra base de datos y realizaremos una consulta de todos los registros:
SQLconnection con = new SQLconnection(“localhost”, “usuario”, “contraseña”, “prueba”);
con.connectar();
ResultSet rs;
rs = con.consultar(“usuarios”);
while(rs.next()){
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}
En esta clase también implementamos una opción que nos permite realizar búsquedas por medio de nombres(es el campo de la base de datos que elegí para este ejemplo); ha este método le mandamos 2 parámetros, que son la base de datos y el nombre:
System.out.println(con.buscarNombre(“usuarios”, “frago”));
Para insertar un nuevo registro vamos a hacer uso del Hastable para enviarle los valores que queremos agregar:
Hashtable usuario = new Hashtable();
usuario.put(“nombre”, “frago”);
usuario.put(“contraseña”, “xxx”);
con.insertar(usuario);
Para eliminar un registro simplemente le ejecutamos el método correspondiente y le pasamos como parametros la tabla y el nomrbe del usuario a eliminar:
con.eliminar(tabla, “frago”);
Para actualizar un registro le tenemos que pasar 3 parámetros al método. EL primero es el nombre de la tabla; el segundo es un Hastable en el que se incluya la modificación que se quiere realizar y el tercer es, en este caso, el nombre de la persona a la que se le va realizar la modificación:
Hashtable usuario = new Hashtable();
usuario.put(“nombre”, “frago1″);
con.actualizar(tabla, usuario, “frago”);
El proyecto en netbeans pueden descargarselo AQUI



[...] Ejemplo Java + SQL en Netbeans [...]
excelente clase, si el post tubiera un diagrama de clase en UML quedaría mucho mejor explicado
al parecer si aprendí un poco durante el semestre!!! xD
parece que sí jeje
verdaderamente genial ayudo a pasar el curso de java con un profe que no enseño nada ni sabia que su curso era de java jejejeje
muy bueno enserio
[...] Ir al tutorial -> Ejemplo de Java + SQL + Netbeans [...]
Excelente
One cuestion , si no tengo el mysql trabaja con el sql 2005 ?
Buenisimo, muchas gracias!
Excelente material muy didactico para los que desean aprender a programar en java en 2 días, chevere, ya me aburre leer libros de 400 paginas para aprender un nuevo lenguaje
Hola Fernando gracias por el comment jeje, a veces si es aburrido leer libros de 400 páginas para solo aprender un nuevo lenguaje.
Saludos!!
es un programa final y encontre en 2 min y yo me tarde 2 semanas haciendo y con errores , ja gracias wey
que bueno que te sirvio
Hola, soy nuevo en esto
Oye una preguntota, al momento de correlo y darle en el botón ejecutar código me marca un error, podrias ayudarme???
Hola estimados amigos solo me gustaria desir q si tienen algunos ejemplo de como conextar una base de datos en mysql y acces esto en netbeans es q tengo dos base de datos uno en acces 2003 y el otro en mysql asi q me gustaria conectarlos en java esto pero con el netybeans diganme como lo puedo hacer por favor solo quiero un ejemplo de esto .
saludos : pirata3000
mail: pirata_delcaribe2007@hotmail.com
mail: system-bol@hotmail.com
@Jeromino: sería bueno que pusieras que error te dá jeje
HOLA FRAGO GRACIAS POR RESPONDER ME ARROJA EL SIGUIENTE ERROR:
Hubo un problema al intentar conectarse con la base de datos jdbc:mysql://localhost/prueba
Exception in thread “AWT-EventQueue-0″ java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jdesktop.application.ApplicationAction.actionFailed(ApplicationAction.java:859)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:665)
at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662)
… 27 more
Caused by: java.lang.NullPointerException
at example.SQLconnection.consultar(SQLconnection.java:92)
at example.ExampleView.prueba(ExampleView.java:212)
… 32 more
LLA PRIMERA LINEA SI SE QUE ES PORQUE NO ENCUENTRA LA BD. PERO LAS DEMÁS NO TENGO IDEA. POR CIERTO LA B.D. ESTA EN EL ARCHIVO QUE SUBISTE EN ESTE BLOG, O COMO LE PUEDO HACER???…. GRACIAS Y SALU2
@Jeronimo: primero arregla lo de la bd. La bd esta hecha en MySQL, yo la hice con el appserver, pero hay otras opciones, después debes de tener el jar que te permit hacer la conexión a la bd. Primero soluciona eso
Saudos!!
Hola Frago, ya me corrio, no habia puesto atención a las caracteristicas de la B.D. que comentaste al principio de este post. Por cierto estoy haciendo un proyecto de un sistema Experto de entrenamiento para parteros, y pues la verdad no tengo muchos conocimientos de manejo de B.D. de MySQL con Netbeans, te agradeceria mucho que me pudieras facilitar algunos ejemplos. no se si sea necesario darte mi correo.
De ante mano gracias!!!
Hola, muchas gracias por el tutorial, en verdad me ha sido muy util. Hasta que encontre algo muy util. Le doy un 100 a la estructura de tus clases, va a ser la base para hacer un proyecto muy grande que estoy haciendo! Saludos.
que bueno que te sirva Brandon
Saludos!!
Hola solamente queria saber si alguien me puede decir como conectar una base de datos con mySQL usando Netbeans 6.0
hola Frago.. una pregunta.. tengo una bd en access y la llamo desde el netbeans, tengo opciones de modificar, agregar y eliminar pero me salen errores como: “Error en la fila” , “Estado del cursor no valido”, “Result set type is TYPE_FORWARD_ONLY”.. podrias ayudarme por favor…gracias..
@Walter: hola, mmm una de las razones por la que puede suceder ese error es debido a que tu Result set no es “scrollable” es decir, sólo puedes ir o avanzar hacia adelante usando el método next() pero no puedes retroceder, tal vez este enlace te pueda servir: http://java.sun.com/javase/6/docs/api/
tal vez te ayude usar lo siguiente: ResultSet.TYPE_SCROLL_INSENSITIVE aunque no lo eh probado
espero te sirva, saludos!!
me has ayudado mucho, esto es justo lo que necesitaba para mi proyecto de 3º de informatica
Me sale este error cuando trato de ejecutar. alguien me puede ayudar. gracias
C:\example\example\src\example\ExampleAboutBox.java:82: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
C:\example\example\src\example\ExampleAboutBox.java:82: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
C:\example\example\src\example\ExampleAboutBox.java:101: package javax.swing.GroupLayout does not exist
.addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:101: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:100: package javax.swing.GroupLayout does not exist
.addComponent(appTitleLabel, javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:90: package javax.swing.GroupLayout does not exist
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
C:\example\example\src\example\ExampleAboutBox.java:96: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:95: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:91: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:89: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
C:\example\example\src\example\ExampleAboutBox.java:85: package javax.swing.GroupLayout does not exist
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:122: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:121: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:118: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:117: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:114: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:113: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:111: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:107: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:107: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:106: package javax.swing.GroupLayout does not exist
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:125: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
C:\example\example\src\example\ExampleView.java:125: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
C:\example\example\src\example\ExampleView.java:129: package javax.swing.GroupLayout does not exist
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
C:\example\example\src\example\ExampleView.java:128: package javax.swing.GroupLayout does not exist
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:135: package javax.swing.GroupLayout does not exist
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:173: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
C:\example\example\src\example\ExampleView.java:173: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
C:\example\example\src\example\ExampleView.java:183: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:181: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 81, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:177: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 251, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:176: package javax.swing.GroupLayout does not exist
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:192: package javax.swing.GroupLayout does not exist
.addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleView.java:191: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:191: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:190: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:190: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:188: package javax.swing.GroupLayout does not exist
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
Note: C:\example\example\src\example\ExampleView.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
44 errors
BUILD FAILED (total time: 0 seconds)
este error me sale cuando trato de compilar.si alguien me puede ayudar.muchas gracias
init:
deps-jar:
Compiling 2 source files to C:\example\example\build\classes
C:\example\example\src\example\ExampleAboutBox.java:82: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
C:\example\example\src\example\ExampleAboutBox.java:82: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
C:\example\example\src\example\ExampleAboutBox.java:101: package javax.swing.GroupLayout does not exist
.addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:101: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(appDescLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:100: package javax.swing.GroupLayout does not exist
.addComponent(appTitleLabel, javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:90: package javax.swing.GroupLayout does not exist
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
C:\example\example\src\example\ExampleAboutBox.java:96: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:95: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:91: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:89: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
C:\example\example\src\example\ExampleAboutBox.java:85: package javax.swing.GroupLayout does not exist
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleAboutBox.java:122: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:121: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:118: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:117: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:114: package javax.swing.GroupLayout does not exist
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleAboutBox.java:113: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:111: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleAboutBox.java:107: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:107: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(imageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleAboutBox.java:106: package javax.swing.GroupLayout does not exist
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:125: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
C:\example\example\src\example\ExampleView.java:125: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
C:\example\example\src\example\ExampleView.java:129: package javax.swing.GroupLayout does not exist
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
C:\example\example\src\example\ExampleView.java:128: package javax.swing.GroupLayout does not exist
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:135: package javax.swing.GroupLayout does not exist
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:173: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
C:\example\example\src\example\ExampleView.java:173: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
C:\example\example\src\example\ExampleView.java:183: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:182: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:181: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 81, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:177: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 251, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:176: package javax.swing.GroupLayout does not exist
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:195: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
C:\example\example\src\example\ExampleView.java:192: package javax.swing.GroupLayout does not exist
.addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
C:\example\example\src\example\ExampleView.java:191: package javax.swing.LayoutStyle does not exist
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:191: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
C:\example\example\src\example\ExampleView.java:190: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:190: cannot find symbol
symbol : class GroupLayout
location: package javax.swing
.addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
C:\example\example\src\example\ExampleView.java:188: package javax.swing.GroupLayout does not exist
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
Note: C:\example\example\src\example\ExampleView.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
44 errors
BUILD FAILED (total time: 0 seconds)
@David: mm seguro que no borraste algo del codigo generado por netbeans? porque la clase ExampleAboutBox.java esa es generada automaticamente por el netbeans.
Lo que te recomiendo es que generes un nuevo proyecto y le añadas la clase SQLConnection generada en este post…debe funcionar
saludos!!
No me funciono me marca error pero no se si es por el driver de jdbc.
Este es el error
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
Exception in thread “AWT-EventQueue-0″ java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jdesktop.application.ApplicationAction.actionFailed(ApplicationAction.java:859)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:665)
at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6134)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Window.dispatchEventImpl(Window.java:2458)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662)
… 27 more
Caused by: java.lang.NullPointerException
at example.SQLconnection.consultar(SQLconnection.java:92)
at example.ExampleView.prueba(ExampleView.java:212)
… 32 more
@Israel: si…ese error es porque el programa no encuentra el driver de coneccion a la base de datos, verificaque lo agregaste correctamente
Hola. yo estoy probando tu ejemplo y no me marca ningun erro, pero cuando lo depuro posiciono el cursor sobre las sentincias después de haberlas pasado claro esta:
en
Class.forName(“org.gjt.mm.mysql.Driver”); // class.forName >Unknown type “forName”<
supongo que por eso no me regresa la conexión, por que después de
conn = DriverManager.getConnection(url, user, password);
coloco el cursor sobre conn y obtengo conn=null;
yo agrege la libreria
mysql-connector-java.5.1.7-bin.jar
hice la misma prueba pero ahora colocando
Class.forName(“com.mysql.jdbc.Driver”); y en este caso agrege la libreria MYSQL JDBC Driver mysql-connector-java.5.1.5-bin.jar
por favor si puedes ayudarme
gracias de todas formas por la idea planteada en el este post
Muy interesante tu ejemplo, pero tengo tres preguntas :
1ª – como ejecutas “public void prueba() throws Exception{” donde se configura para que al presionar el boton ejecute.
2ª – Cuales son las partes que no pueden faltar en una clase, (Lo que requiere para que no de error)
3ª – ¿No es necesario cerrar la coneccion?, Como haces para manejar el es cerrado.
Gracias por el ejemplo.
con respesto a tu codigo si yol e agrego dos texfield como peudo obtener los datos de esos cuadres de tewsto y comprobar q el suario ya esta .. de manera grafica con el netbenas;)
@jorge: para extraer el valor de los textefield puedes usar la propiedad getText()…por ejemplo:
jTextField1.getText();
eso te devuelve un String con el valor que tenga el cuadro de texto
Hermano un saludo, interesante tu post, ero necesito ir un paso adelante estoy trabajando en lo mismo pero con un clase visual, me explico, creé una clase con un conjunto de botones esta clase recibe como parametros varios arreglos uno con el nombre de la tabla y sus campos, otro con los controles de la clase (formulario) y los nombres de las etiquetas que la llama (por asi decirlo).
de manera que inicio el formulario, en un container instancio la clase de los botones, con todos estos parametros, pero como puedo hacer para tener acceso a la clase padre y no solo eso sino a sus componentes (cajas de texto, etc).
gracias de todas maneras
HOla, bueno he estado buscando muchos ejemplor por la red, de como conectar netbeans con my sql, me encontre el tuyo la verdad no le entiendo soy primero en java nunca me habia metido con java para nada, y pues me pidieron un proyecto donde tengo que usar swing, mi idea era crear un traductor de verbos, y almacenar la bd en mysql, y solo hacer una consulta del verbo que quiero que se muestre en ingles, claro siempre y este en la bd, la bd ya la tengo, pero no logro hacer la conexión, hice la bd con appserver, porq tambien trabajo con php, bueno en fin, quiero saber si podrias ayudarme en como realizar la conexion de una manera detallada ya q en mi vida habia manejado netbeans y desconosco totalmente el ambiente .
Ojala puedas se te agradeceria mucho!
hola frago
me podrias dar tu email para contactarme contigo
gracias por el post