conexion de bd con netbeans

21
1 TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CHALCO INGENIERÍA EN SISTEMAS COMPUTACIONALES CONEXIÓN DE MySQL CON NETBEANS ING. RAMÍREZ PAVÍA JUAN ING. AYEHUALTENCATL MONTALVO EDUARDO ING. MERLOS GUZMAN JOSE LUIS ING. RESENOS GONZAGA EDITH ING. FAUSTINOS JUAREZ ARTURO MATERIA: FUNDAMENTOS DE BASES DE DATOS PROFESORA: L.I.A HERNANDEZ SUAREZ SANDRA CHALCO, MÈX., A 5 DE JULIO DE 2010

Upload: andriwsb13

Post on 06-Apr-2015

726 views

Category:

Documents


1 download

DESCRIPTION

INGENIERÍA EN SISTEMAS COMPUTACIONALES CONEXIÓN DE MySQL CON NETBEANS

TRANSCRIPT

Page 1: Conexion de Bd Con Netbeans

1

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE CHALCO

INGENIERÍA EN SISTEMAS COMPUTACIONALES

CONEXIÓN DE MySQL CON NETBEANS

ING. RAMÍREZ PAVÍA JUAN

ING. AYEHUALTENCATL MONTALVO EDUARDO

ING. MERLOS GUZMAN JOSE LUIS

ING. RESENOS GONZAGA EDITH

ING. FAUSTINOS JUAREZ ARTURO

MATERIA:

FUNDAMENTOS DE BASES DE DATOS

PROFESORA: L.I.A HERNANDEZ SUAREZ SANDRA

CHALCO, MÈX., A 5 DE JULIO DE 2010

Page 2: Conexion de Bd Con Netbeans

2

I N D I C E

CONCEPTO DE MySQL Y NetBeans……………………………………………….….3

CREACION DE BD Y CONTENIDO……………………………………………....….4

CONECTAR LA BD CON LA PLATAFORMA………………………………………..6

Creación de la tabla de conexión de consultas…………………………………….7

Creación de la clase para denominar la tabla de consultas………………………11

CREACION Y DISEÑO DE LA INTERFAZ………………………………….……...16

Código de conexión y función de los botones…………………………………..18

Creación, diseño y código del formulario modificar…………………… …...…20

NOTAS IMPORTANTES ……………………………………………………………....21

Page 3: Conexion de Bd Con Netbeans

3

SGBD Y PLATAFORMA

Para el desarrollo de este proyecto utilizamos el gestor de bases de datos conocido como MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y

ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado

por una empresa privada, que posee el copyright de la mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan

trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

De igual forma en el desarrollo de la interfaz utilizamos la plataforma NetBeans que permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las

APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la

plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.

NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de

los proyectos.

Page 4: Conexion de Bd Con Netbeans

4

CREACION DE LA BASE DE DATOS Y CONTENIDO

La base de datos esta titulada como “vecindad” la cual contiene tres tablas con sus respectivas columnas que a continuación mencionaremos.

Primera Tabla “datos_inquilinos” llevara el registro de los datos (columnas): id_inquilino, Nombre, Apellidos, No_credencial_elector, Deposito.

Segunda Tabla “alquiler” llevara el registro de los datos (columnas): id_inquilino, ID_Cuarto, días_de_pago, mensualidad, renta.

Tercera Tabla “adeudo” llevara el registro de los datos (columnas) : ID_Cuarto, id_deuda,

meses_vencidos, deuda_total. A continuación mostramos el código para la creación de la base de datos:

create database vecindad;

Sintaxis para la creación de la primera tabla: create table datos_inquilinos(

id_inquilino varchar(30), nombre varchar(30), apellidos varchar(50),

No_credencial_elector varchar(40), deposito int,

primary key (id_inquilino)); Sintaxis para la inserción de datos en cada campo o columna con ejemplo:

insert into datos_inquilinos values('JURA','JUAN','RAMIREZ PAVIA','5601584802147',600);

insert into datos_inquilinos values('EDAY','Eduardo','Ayeaye Montalvo','2078116864598',350); insert into datos_inquilinos values('MAGA','Maribel','García Peralta','2048905457974',350); insert into datos_inquilinos values('ARFA','Arturo','Faustinos Juarez','5450546065487',350);

Sintaxis para la creación de la segunda tabla:

create table alquiler( id_inquilino varchar(30),

ID_Cuarto varchar(15), dias_de_pago int,

mensualidad int, renta int, primary key (ID_Cuarto),

foreign key(id_inquilino) references datos_inquilinos);

Page 5: Conexion de Bd Con Netbeans

5

Sintaxis para la inserción de datos en cada campo o columna con ejemplo: insert into alquiler values('JURA','5-A',30,500,1000);

insert into alquiler values('EDAY','6-B',20,600,600); insert into alquiler values('MAGA','7-B',28,600,600);

insert into alquiler values('ARFA','8-B',25,300,600); Sintaxis para la creación de la tercera tabla:

create table adeudo(

ID_Cuarto varchar(15), id_deuda varchar(15), meses_vencidos int,

deuda_total int, primary key (id_deuda),

foreign key(ID_Cuarto) references alquiler); Sintaxis para la inserción de datos en cada campo o columna con ejemplo:

insert into adeudo values('5-A','JURA-D',0,0);

insert into adeudo values('6-B','EDAY-D',0,0); insert into adeudo values('6-B','MAGA-D',0,0); insert into adeudo values('6-B','ARFA-D',0,0);

Sintaxis para que MySQL nos muestre cada una de las tablas :

select * from datos_inquilinos; select * from alquiler;

select * from adeudo;

Page 6: Conexion de Bd Con Netbeans

6

AGREGANDO EL DRIVER PARA CONECTAR NETBEANS CON

MySQL Bueno empecemos, primero he de aclarar que estamos usando el IDE NetBeans 6.8 si usan NetBeans este ya viene listo para usar en caso contrario deberán agregar el driver MySQL-Connector a las

librerías de su proyecto..

Abrimos NetBeans y creamos un nuevo proyecto (File->New Proyect->Java->Java aplication), y le

ponemos un nombre cualquiera, en mi caso se llama “Vecindad”.

Ahora antes de empezar debemos agregar el Driver MySQL-Connector a las librerías del

proyecto, esto se hace súper sencillo. El proyecto recién creado en NetBeans se ve así:

Ahora solo tienen que hacer click con botón derecho en

Libraries->Add Library y les aparecerá una venta como esta:

Busquen el que se llama MySQL JDBC Driver y hagan click en Add Library. Bien ahora

volvamos a nuestro Main.java, sera necesario que hagamos unos imports.

Page 7: Conexion de Bd Con Netbeans

7

Primero creamos una clase la nombraremos Tabla_Consultas he ingresamos el código siguiente el cual ya esta comentado y nos indica que es lo que realiza cada linea de código:

import java.sql.Connection; import java.sql.Statement;

import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData;

import java.sql.SQLException; import javax.swing.table.AbstractTableModel;

// las filas y columnas del objeto ResultSet se cuentan desde 1 y // las filas y columnas del objeto JTable se cuentan desde 0. Al procesar

// filas o columnas de ResultSet para usarlas en un objeto JTable, es

// necesario sumar 1 al n�mero de fila o columna para manipular

// la columna apropiada del objeto ResultSet (es decir, la columna 0 de JTable // es la columna 1 de ResultSet y la fila 0 de JTable es la fila 1 de ResultSet).

public class Tabla_Consultas extends AbstractTableModel {

private Connection conexion; private Statement instruccion; private ResultSet conjuntoResultados;

private ResultSetMetaData metaDatos; private int numeroDeFilas;

// lleva la cuenta del estado de la conexi�n a la base de datos

private boolean conectadoABaseDatos = false; // el constructor inicializa conjuntoResultados y obtiene su objeto de metadatos;

// determina el n�mero de filas

public Tabla_Consultas( String controlador,String url, String nombreusuario, String contrasenia, String consulta ) throws SQLException, ClassNotFoundException

{ // se conecta a la base de datos

Class.forName( controlador ); conexion = DriverManager.getConnection( url, "root", "ramirez" );

// crea objeto Statement para consultar la base de datos instruccion = conexion.createStatement(

ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );

// actualiza el estado de la conexi�n a la base de datos

conectadoABaseDatos = true; // establece consulta y la ejecuta

establecerConsulta( consulta );

Page 8: Conexion de Bd Con Netbeans

8

} // fin del constructor Tabla_Consultas // obtiene la clase que representa el tipo de la columna

public Class getColumnClass( int columna ) throws IllegalStateException {

// verifica que est� disponible la conexi�n a la base de datos if ( !conectadoABaseDatos )

throw new IllegalStateException( "No hay conexion a la base de datos" );

// determina la clase de Java de la columna try {

String nombreClase = metaDatos.getColumnClassName( columna + 1 );

// devuelve objeto Class que representa a nombreClase return Class.forName( nombreClase ); } // fin de try

catch ( Exception excepcion ) {

excepcion.printStackTrace(); } // fin de catch

return Object.class; // si ocurren problemas en el c�digo anterior, asume el tipo Object

} // fin del m�todo getColumnClass

// obtiene el n�mero de columnas en el objeto ResultSet public int getColumnCount() throws IllegalStateException

{

// verifica que est� disponible la conexi�n a la base de datos

if ( !conectadoABaseDatos )

throw new IllegalStateException( "No hay conexi�n a la base de datos" );

// determina el n�mero de columnas

try

{ return metaDatos.getColumnCount(); } // fin de try

catch ( SQLException excepcionSql ) {

excepcionSql.printStackTrace(); } // fin de catch

return 0; // si ocurren problemas en el c�digo anterior, devuelve 0 para el n�mero de columnas

} // fin del m�todo getColumnCount

// obtiene el nombre de una columna espec�fica en el objeto ResultSet public String getColumnName( int columna ) throws IllegalStateException

Page 9: Conexion de Bd Con Netbeans

9

{

// verifica que est� disponible la conexi�n a la base de datos

if ( !conectadoABaseDatos ) throw new IllegalStateException( "No hay conexion a la base de datos" );

// determina el nombre de la columna try

{ return metaDatos.getColumnName( columna + 1 );

} // fin de try catch ( SQLException excepcionSql ) {

excepcionSql.printStackTrace(); } // end catch

return ""; // si hay problemas, devuelve la cadena vac�a para el nombre de la columna

} // fin del m�todo getColumnName

// devuelve el n�mero de filas en el objeto ResultSet

public int getRowCount() throws IllegalStateException {

// verifica que est� disponible la conexi�n a la base de datos

if ( !conectadoABaseDatos )

throw new IllegalStateException( "No hay conexion a la base de datos" ); return numeroDeFilas;

} // fin del m�todo getRowCount

// obtiene el valor en la fila y columna espec�ficas

public Object getValueAt( int fila, int columna ) throws IllegalStateException {

// verifica que est� disponible la conexi�n a la base de datos

if ( !conectadoABaseDatos ) throw new IllegalStateException( "No hay conexion a la base de datos" );

// obtiene un valor en una fila y columna especificadas del objeto ResultSet try

{ conjuntoResultados.absolute( fila + 1 ); return conjuntoResultados.getObject( columna + 1 );

} // fin de try catch ( SQLException excepcionSql )

{ excepcionSql.printStackTrace(); } // fin de catch

return ""; // si hay problemas, devuelve el objeto cadena vac�a

Page 10: Conexion de Bd Con Netbeans

10

} // fin del m�todo getValueAt

// establece nueva cadena de consulta en la base de datos public void establecerConsulta( String consulta )

throws SQLException, IllegalStateException {

// verifica que est� disponible la conexi�n a la base de datos

if ( !conectadoABaseDatos ) throw new IllegalStateException( "No hay conexion a la base de datos" );

// especifica la consulta y la ejecuta

conjuntoResultados = instruccion.executeQuery( consulta ); // obtiene metadatos para el objeto ResultSet

metaDatos = conjuntoResultados.getMetaData();

// determina el n�mero de filas en el objeto ResultSet

conjuntoResultados.last(); // avanza a la �ltima fila

numeroDeFilas = conjuntoResultados.getRow(); // obtiene el n�mero de fila

// notifica al objeto JTable que el modelo ha cambiado

fireTableStructureChanged();

} // fin del m�todo establecerConsulta

// cierra objetos Statement y Connection

public void desconectarDeBaseDatos() { if ( conectadoABaseDatos )

{ // cierra objetos Statement y Connection

try { conjuntoResultados.close();

instruccion.close(); conexion.close();

} // fin de try catch ( SQLException excepcionSql ) {

excepcionSql.printStackTrace(); } // fin de catch

finally // actualiza el estado de la conexi�n a la base de datos {

conectadoABaseDatos = false; } // fin de finally

} // fin de if

} // fin del m�todo desconectarDeBaseDatos

} // fin de la clase ResultSetTableModel

Page 11: Conexion de Bd Con Netbeans

11

Posteriormente creamos otra clase para mandar a traer la clase anterior y donde

indicaremos la tabla que queremos que nos muestre. De igual manera esta comentado, debemos

modificar los datos en donde se menciona la tabla de la base de datos.

import java.awt.BorderLayout;

import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent; import java.sql.SQLException;

import java.util.regex.PatternSyntaxException; import javax.swing.JFrame; import javax.swing.JTextArea;

import javax.swing.JScrollPane; import javax.swing.ScrollPaneConstants;

import javax.swing.JTable; import javax.swing.JOptionPane; import javax.swing.JButton;

import javax.swing.Box; import javax.swing.JLabel;

import javax.swing.JTextField; import javax.swing.RowFilter; import javax.swing.table.TableRowSorter;

import javax.swing.table.TableModel;

public class Consulta_Datos extends JFrame {

static final String CONTROLADOR = "com.mysql.jdbc.Connection"; static final String URL_BASEDATOS = "jdbc:mysql://localhost/vecindad";

// la consulta predeterminada obtiene todos los datos de la tabla autores static final String CONSULTA_PREDETERMINADA = "SELECT * FROM datos_inquilinos";

private Tabla_Consultas modeloTabla;

private JTextArea areaConsulta;

public Consulta_Datos() {

super( "Visualizacion de los resultados de la consulta" ); // crea objeto Tabla_Consultas y muestra la tabla de la base de datos

try {

// crea objeto TableModel para los resultados de la consulta SELECT * FROM datos_inquilinos modeloTabla = new Tabla_Consultas( CONTROLADOR, URL_BASEDATOS, "root", "ramirez", CONSULTA_PREDETERMINADA );

Page 12: Conexion de Bd Con Netbeans

12

// establece objeto JTextArea en el que el usuario escribe las consultas areaConsulta = new JTextArea( CONSULTA_PREDETERMINADA, 3, 100 ); areaConsulta.setWrapStyleWord( true );

areaConsulta.setLineWrap( true );

JScrollPane scrollPane = new JScrollPane( areaConsulta, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );

// establece objeto JButton para enviar las consultas

JButton botonEnviar = new JButton( "Enviar consulta" );

// crea objeto Box para manejar la colocaci�n de areaConsulta y

// botonEnviar en la GUI

Box boxNorte = Box.createHorizontalBox(); boxNorte.add( scrollPane ); boxNorte.add( botonEnviar );

// crea delegado de JTable para modeloTabla

JTable tablaResultados = new JTable( modeloTabla ); JLabel etiquetaFiltro = new JLabel( "Filtro:" );

final JTextField textoFiltro = new JTextField(); JButton botonFiltro = new JButton( "Aplicar filtro" );

Box boxSur = boxNorte.createHorizontalBox(); boxSur.add( etiquetaFiltro );

boxSur.add( textoFiltro ); boxSur.add( botonFiltro );

// coloca los componentes de la GUI en el panel de contenido add( boxNorte, BorderLayout.NORTH );

add( new JScrollPane( tablaResultados ), BorderLayout.CENTER ); add( boxSur, BorderLayout.SOUTH );

// crea componente de escucha de eventos para botonEnviar botonEnviar.addActionListener(

new ActionListener() {

// pasa la consulta al modelo de la tabla public void actionPerformed( ActionEvent evento )

{ // realiza una nueva consulta try

{ modeloTabla.establecerConsulta( areaConsulta.getText() );

} // fin de try catch ( SQLException excepcionSql ) {

Page 13: Conexion de Bd Con Netbeans

13

JOptionPane.showMessageDialog( null, excepcionSql.getMessage(), "Error en base de datos", JOptionPane.ERROR_MESSAGE );

// trata de recuperarse de una consulta inv�lida del usuario

// ejecutando la consulta predeterminada try

{ modeloTabla.establecerConsulta( CONSULTA_PREDETERMINADA );

areaConsulta.setText( CONSULTA_PREDETERMINADA ); } // fin de try catch ( SQLException excepcionSql2 )

{ JOptionPane.showMessageDialog( null,

excepcionSql2.getMessage(), "Error en base de datos", JOptionPane.ERROR_MESSAGE );

// verifica que est� cerrada la conexi�n a la base de datos modeloTabla.desconectarDeBaseDatos();

System.exit( 1 ); // termina la aplicaci�n

} // fin de catch interior } // fin de catch exterior

} // fin de actionPerformed } // fin de la clase interna ActionListener

); // fin de la llamada a addActionListener final TableRowSorter< TableModel > sorter =

new TableRowSorter< TableModel >( modeloTabla ); tablaResultados.setRowSorter( sorter );

setSize( 500, 250 ); // establece el tama�o de la ventana setVisible( true ); // muestra la ventana

// crea componente de escucha para botonFiltro

botonFiltro.addActionListener( new ActionListener() {

// pasa el texto del filtro al componente de escucha public void actionPerformed( ActionEvent e )

{ String texto = textoFiltro.getText();

if ( texto.length() == 0 ) sorter.setRowFilter( null );

else { try

{

Page 14: Conexion de Bd Con Netbeans

14

sorter.setRowFilter( RowFilter.regexFilter( texto ) ); } // fin de try

catch ( PatternSyntaxException pse ) {

JOptionPane.showMessageDialog( null, "Patron de exp reg incorrecto", "Patron de exp reg incorrecto", JOptionPane.ERROR_MESSAGE );

} // fin de catch } // fin de else

} // fin del m�todo actionPerfomed

} // fin de la clase interna an�nima

); // fin de la llamada a addActionLister } // fin de try

catch ( ClassNotFoundException noEncontroClase ) {

JOptionPane.showMessageDialog( null, "No se encontro controlador de base de datos", "No se encontro el controlador", JOptionPane.ERROR_MESSAGE );

System.exit( 1 ); // termina la aplicaci�n

} // fin de catch catch ( SQLException excepcionSql )

{ JOptionPane.showMessageDialog( null, excepcionSql.getMessage(),

"Error en base de datos", JOptionPane.ERROR_MESSAGE );

// verifica que est� cerrada la conexi�n a la base de datos

modeloTabla.desconectarDeBaseDatos();

System.exit( 1 ); // termina la aplicaci�n

} // fin de catch

// cierra la ventana cuando el usuario sale de la aplicaci�n (se sobrescribe // el valor predeterminado de HIDE_ON_CLOSE)

setDefaultCloseOperation( DISPOSE_ON_CLOSE );

// verifica que est� cerrada la conexi�n a la base de datos cuando el usuario sale de la aplicaci�n

addWindowListener(

new WindowAdapter() {

// se desconecta de la base de datos y sale cuando se ha cerrado la ventana public void windowClosed( WindowEvent evento )

{ modeloTabla.desconectarDeBaseDatos(); // System.exit( 0 );

} // fin del m�todo windowClosed

Page 15: Conexion de Bd Con Netbeans

15

} // fin de la clase interna WindowAdapter ); // fin de la llamada a addWindowListener } // fin del constructor de ConsultasDatos

}

// ejecuta la aplicaci�n //public static void main( String args[] )

//{ // new ResultadosConsultaAgenda();

//} // fin de main //} // fin de la clase MostrarResultadosConsulta

Page 16: Conexion de Bd Con Netbeans

16

CREACION Y DISEÑO DE LA INTERFAZ EN LA PLATAFORMA

En primer lugar en el caso de nuestra interfaz creamos un nuevo formulario jFrame para realizar el diseño de nuestro menú que contendrá la referencia a todos nuestros demás formularios:

Posteriormente creamos tres formularios que nos permitirán ingresar los datos a nuestras tablas.

Page 17: Conexion de Bd Con Netbeans

17

Page 18: Conexion de Bd Con Netbeans

18

Una ves creados y diseñados los formularios les mostraremos el código para realizar la conexión y los procesos de los botones

Importamos las siguientes librerías: import java.lang.System.*;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement;

import javax.swing.JOptionPane;

Dentro del el botón agregar colocamos el código siguiente obviamente tenemos que modificar los datos donde se haga mención a nuestras variables y base de datos: try{

Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql://localhost/vecindad","root", "ramirez"); con.setAutoCommit(false); Statement stmt = con.createStatement();

stmt.executeUpdate("INSERT INTO datos_inquilinos "+" VALUES ('"+id.ge tText()+"',"+" '"+Nombre.getText()+"',"+" '"+apellido.getText()+"',"+" '"+credencial.getText()+"',"+"

'"+deposito.getText()+"')"); id.setText("");

Nombre.setText(""); apellido.setText("");

credencial.setText(""); deposito.setText(""); JOptionPane.showMessageDialog(null, "Nuevo Ingreso Exitoso");

con.commit();

}catch (Exception ex1) { System.out.println(ex1);

}

Dentro del botón borrar va lo siguiente: String nombre=Nombre.getText(); try{

Class.forName("com.mysql.jdbc.Driver").newInstance();

con =DriverManager.getConnection("jdbc:mysql://localhost/vecindad","root", "ramirez"); con.setAutoCommit(false); Statement stmt = con.createStatement();

stmt.executeUpdate("DELETE FROM datos_inquilinos WHERE Nombre='"+nombre+"'"); JOptionPane.showMessageDialog(null, "Borrado Exitoso");

con.commit(); }catch (Exception ex1){ System.out.println(ex1);}

Page 19: Conexion de Bd Con Netbeans

19

En el botón consultar mandamos a traer la clase Consulta_Datos con lo siguiente: new Consulta_Datos();

Que nos mandara a esta ventana donde nos muestra la tabla indicada dentro del código.

Dentro del botón modificar ponemos la función para que nos mande a un nuevo formulario “Modificacion”con el código siguiente:

Modificacion f2=new Modificacion(); this.hide();

f2.show();

Page 20: Conexion de Bd Con Netbeans

20

Como ya se menciono necesitaremos un nuevo formulario el cual lo nombraremos Modificación y su diseño seria como en la imagen:

Realizaremos las siguientes importaciones:

import java.lang.System.*; import java.sql.Connection;

import java.sql.DriverManager; import java.sql.Statement; import javax.swing.JOptionPane;

Dentro de el botón aplicar cambios colocamos el siguiente código.

String Columna=columna.getText(); String Nuevo=nuevo.getText();

String campo=camporestric.getText(); String valor=valorrestric.getText();

if (no.isSelected()){ try{

Class.forName("com.mysql.jdbc.Driver").newInstance(); con =DriverManager.getConnection("jdbc:mysql://localhost/vecindad","root", "ramirez");

con.setAutoCommit(false); Statement stmt = con.createStatement(); stmt.executeUpdate(" UPDATE datos_inquilinos SET "+Columna+" = '"+Nuevo+"'");

JOptionPane.showMessageDialog(null, "Modificacion Exitosa"); con.commit();

}catch (Exception ex1) { System.out.println(ex1); JOptionPane.showMessageDialog(null, "No se puede duplicar el ide p[rimario o esta

ingresando datos erroneos");

Page 21: Conexion de Bd Con Netbeans

21

}} else if (si.isSelected()){ try{

Class.forName("com.mysql.jdbc.Driver").newInstance();

con =DriverManager.getConnection("jdbc:mysql://localhost/vecindad","root", "ramirez"); con.setAutoCommit(false); Statement stmt = con.createStatement();

stmt.executeUpdate("UPDATE datos_inquilinos SET "+Columna+"='"+Nuevo+"' WHERE "+campo+"= '"+valor+"'");

JOptionPane.showMessageDialog(null, "Modificacion Exitosa"); con.commit(); }catch (Exception ex1) {

System.out.println(ex1); }}

else JOptionPane.showMessageDialog(this, "Seleccione una opcion");

NOTAS IMPORTANTES

Al final del código en general de cada formulario declararemos la variable:

private Connection con;

Otro punto importante es que para cada formulario deberemos modificar los datos que hacen referencia a nuestras variables y textField de nuestro diseño al igual que deberemos modificar aquellos contextos donde haga referencia a elementos o datos de la base de datos.