Vous êtes sur la page 1sur 31

Informe Regresin

lineal
Fecha: 24-06-2012
Nombres:
Freddy Crdenas
Sebastin Muoz
Juan Carlos Vergara

Actividades de Aplicacin:

Desarrollar una aplicacin basada en la arquitectura Cliente-Servidor, para la


interaccin del usuario con la aplicacin del administrador a travs de tres
niveles
MVC: Modelo, la interaccin del usuario, Vista que implica todo lo que ve el
usuario, Controlador para el desarrollo de control de lo que ingresa el usuario.
Presentando dos alternativas de solucin al problema para ajustar la curva,
utilizando, regresin lineal, para lo cual, la aplicacin debe permitir al usuario
ingresar los puntos (x,y) en una base de datos MySql.

desarrollar esta problemtica en un diseo que permita solucionar la


problemtica genrica a travs de software que la solucione de forma
independiente. Cada uno de lo software debe ser sobre consola y otro sobre
Swing mediante interfaz grfico. Para el desarrollo de la problemtica se
debern utilizaran mtodos tales como JTable, AbstractTableModel y
DefaultTableModel las cuales le ayudaran a resolver la solucin dos. El objetivo
apoyar el dominio especfico del problema seleccionado, ajustando las curvas
(lineas rectas, que permitan su modelamiento). Cada aplicacin debe manejar
los procesos de actualizacin datos de ajustes, ingresos de los puntos (x,y)
y la aplicacin de la curva ajustada, a distintos casos de la problemtica
observada.

Paso 1: Ejemplos Entrada/Salida:


Entrada

>

15.2,3.3

>

11,40

[PROGRAMA]

[PROGRAMA]
>

2,0,1,5

>

[PROGRAMA]

>

Abc,2,4 S

>

ABC,d-c

>

Salida

>

xito al ingresar

>

xito al ingresar

[PROGRAMA]

>

xito al ingresar

[PROGRAMA]

>

Error al ingreso

[PROGRAMA]

>

Error al ingreso

1-2,1-3

>

[PROGRAMA]

>

Error al ingreso

@1#

>

[PROGRAMA]

>

Error al ingreso

12.1,11.2

>

[PROGRAMA]

>

Error al ingreso

Solucin de aplicacin swing


Primero pedimos el nombre de la tabla para posteriormente ingresar a dicha
tabla para rellenar un jtable despus llamamos a un mtodo calcular para
obtener los clculos a,b,R.
Dicho mtodo es el siguiente.
public void calculo(){
double promedio_x=0,promedio_y=0,suma_x=0,suma_y=0,suma_x_e_y=0;
double x_menos_promedio_x[]=new double[contador];
double y_menos_promedio_y[]=new double[contador];
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
x_e_y e= datos.next();
suma_x+=e.getX();
suma_y+=e.getY();
}
promedio_x=suma_x/contador;
promedio_y=suma_y/contador;

System.out.println("prox"+promedio_x);
System.out.println("proy"+promedio_y);
int i=0;
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
x_e_y e= datos.next();
suma_x_e_y+=(e.getX()-promedio_x)*(e.getY()-promedio_y);
x_menos_promedio_x[i]=(e.getX()-promedio_x);
y_menos_promedio_y[i]=(e.getY()-promedio_y);
i++;
}
double suma_x_cuadrado=0,suma_y_cuadrado=0;
System.out.println("sumassss"+suma_x_e_y);
for(int jj=0;jj<contador;jj++){
suma_x_cuadrado+=((x_menos_promedio_x[jj])*(x_menos_promedio_x[jj]));
suma_y_cuadrado+= y_menos_promedio_y[jj]* y_menos_promedio_y[jj];
}
double resultado_b=(suma_x_e_y/suma_x_cuadrado);
double
resultado_r=((suma_x_e_y*suma_x_e_y)/(suma_x_cuadrado*suma_y_cuadrado));
double resultado_a=(promedio_y-(resultado_b*promedio_x));
texto_b.setText(""+resultado_b);
texto_a.setText(""+resultado_a);
texto_r.setText(""+resultado_r);
} }

Diagrama de clases.

Diagrama de flujos Swing

Modelo de la base de datos.

Solucin de aplicacin por consola


Primero para facilitarnos los clculos elaboramos una clase en que solo sacara
los clculos, lo que nos facilitaba la programacin ya que solo debamos
pasarle como parmetro los puntos x e y.
Realizamos un mtodo llamado lineal el cual era de tipo void y nos servira para
obtener clculos para a y b.
Unas ves realizado esto nos faltaba la correlacin para lo cual elaboramos otro
mtodo llamado correlacin el cual era de tipo doubl el cual sacaba los
clculos de R y retornaba el resultado de R.

Estos mtodos son los siguientes:


public void lineal() {
double pxy, sx, sy, sx2, sy2;
pxy=sx=sy=sx2=sy2=0.0;
for(int i=0; i<n; i++) {
sx+=x[i];
sy+=y[i];
sx2+=x[i]*x[i];
sy2+=y[i]*y[i];
pxy+=x[i]*y[i];
}
b=(n*pxy-sx*sy)/(n*sx2-sx*sx);
a=(sy-b*sx)/n;
}
public double correlacion() {
//valores medios
double suma=0.0;
for(int i=0; i<n; i++) {
suma+=x[i];
}
double mediaX=suma/n;
suma=0.0;
for(int i=0; i<n; i++) {
suma+=x[i];
}
double mediaY=suma/n;
//coeficiente de correlacin

double pxy, sx2, sy2;


pxy=sx2=sy2=0.0;
for(int i=0; i<n; i++) {
pxy+=(x[i]-mediaX)*(y[i]-mediaY);
sx2+=(x[i]-mediaX)*(x[i]-mediaX);
sy2+=(y[i]-mediaY)*(y[i]-mediaY);
}
return pxy/Math.sqrt(sx2*sy2);
}

Diagramas para aplicacin por consola

Cdigo aplicacin Swing.


Class Prueba21.
package prueba2;
import
import
import
import
import
import
import

com.mysql.jdbc.PreparedStatement;
conexion.conexion;
java.awt.Color;
java.sql.SQLException;
java.util.logging.Level;
java.util.logging.Logger;
javax.swing.*;

import
import
import
import

java.awt.event.*;
java.sql.ResultSet;
java.util.*;
javax.swing.table.DefaultTableModel;

/**
*
* @author Juan Vergara
*/
public class Prueba21 implements ActionListener
{
String tabla;

conexion con;
boolean estado;
JFrame ventana=new JFrame("Regresion lineal");
int control=0;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
DefaultTableModel modelo;
List <x_e_y> lista=new ArrayList <x_e_y>();
JScrollPane j=new JScrollPane();
JPanel p1= new JPanel();
JPanel p2= new JPanel();
JPanel p3= new JPanel();
int contador=0;
String funcion;
private
private
private
private
private
private
private

JButton consulta;
JLabel jLabel2;
JLabel jLabel3;
JLabel jLabel4;
JTextField texto_a;
JTextField texto_b;
JTextField texto_r;

public JPanel panel1(JPanel jPanel1){


jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jLabel4 = new JLabel();
texto_r = new JTextField();
texto_b = new JTextField();
jLabel3 = new JLabel();
jLabel2 = new JLabel();
texto_a = new JTextField();
consulta = new JButton();
jPanel1.setLayout(null);
jLabel4.setText("R:");
consulta.setText("Calcular");
jLabel3.setText("b: ");
jLabel2.setText("a: ");
jPanel1.add(consulta);
jPanel1.add(jLabel4);
jPanel1.add(texto_r);
jPanel1.add(texto_b);
jPanel1.add(jLabel3);
jPanel1.add(jLabel2);
jPanel1.add(texto_a);
consulta.addActionListener(this);
jPanel1.setBackground(Color.white);
jPanel1.setBounds(380, 140, 300, 140);
texto_a.setBounds(50, 80, 230, 20);
texto_r.setBounds(50, 110, 230, 20);
consulta.setBounds(20, 10, 130, 23);
jLabel3.setBounds(20, 80, 47, 20);

texto_b.setBounds(50, 50, 230, 20);


jLabel2.setBounds(20, 50, 47, 14);
jLabel4.setBounds(20, 110, 190, 14);
return jPanel1;
}
private
private
private
private
private
private

JButton eliminar_fila;
JButton eliminar_fila_n;
JTextField fila_ingreso;
JLabel jLabel10;
JLabel jLabel11;
JLabel jLabel9;

private
private
private
private

JButton guardar_salir;
JLabel jLabel1;
JLabel jLabel8;
JPanel jPanel3;

public JPanel panel3(JPanel jPanel3,String e[],Object[][] matriz){


jScrollPane1 = new JScrollPane();
jTable1 = new JTable();
jTable1.setModel(new DefaultTableModel(matriz,e));
modelo=(DefaultTableModel) jTable1.getModel();
jScrollPane1.setViewportView(jTable1);
guardar_salir = new JButton();
jLabel1 = new JLabel();
jLabel8 = new JLabel();
jPanel3.setLayout(null);
guardar_salir.setText("Salir");
jLabel1.setText("tabla de datos");
jPanel3.add(guardar_salir);
jPanel3.add(jLabel1);
jPanel3.add(jLabel8);
jPanel3.add(jScrollPane1);
guardar_salir.addActionListener(this);
jTable1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
int fila = jTable1.rowAtPoint(e.getPoint());
fila_ingreso.setText(""+fila);
}
});
jPanel3.setBackground(Color.white);
jPanel3.setBounds(0, 0, 690, 450);
jLabel1.setBounds(21, 5, 144, 19);
jScrollPane1.setBounds(10, 32, 340, 390);
jLabel8.setBounds(60, 430, 620, 14);
guardar_salir.setBounds(420, 330, 230, 70);
return jPanel3;

Prueba21(String tabla,String funcion) throws SQLException{


this.funcion=funcion;
this.tabla=tabla;
Object[][] filas= {{null,null}};
String enunciados[]={" x "," y

"};

panel3(p1,enunciados,filas);
p1.add(panel1(p2));
if(funcion.equals("select")){
llenar_tabla();
final String a=funcion;
}
ventana.setLayout(null);
ventana.add(p1);
ventana.setSize(700,500);
ventana.setVisible(true);
jTable1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent evt) {
control=contador;
if(estado)
contador++;
if(modelo.getValueAt(control
,0)!=null&&modelo.getValueAt(control ,1)!=null){
modelo.addRow(new Object[0]);
contador++;
}
}
});
}
public void llenar_tabla() throws SQLException{
con=new conexion();
PreparedStatement select= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
+ "select * from "+this.tabla);
ResultSet rs = select.executeQuery();
// extract data from the ResultSet
while (rs.next()) {
modelo.addRow(new Object[0]);
modelo.setValueAt(rs.getDouble(2)+"",contador,0);
modelo.setValueAt(rs.getDouble(3)+"",contador,1);
contador++;
estado=true;
}
if(contador!=0){
contador--;
estado=false;

}
modelo.removeRow(modelo.getRowCount()-1);
con.closeConexionMysql();
}
public void insertar() throws SQLException{
con=new conexion();
PreparedStatement delete= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
+ "delete from "+this.tabla+";");
delete.executeUpdate();
PreparedStatement insert= (PreparedStatement)
con.getConexionMysql().prepareStatement(""
+"INSERT INTO "+this.tabla+"(x,y)values(?,?);");
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
x_e_y e= datos.next();
insert.setDouble(1,e.getX());
insert.setDouble(2,e.getY());
insert.executeUpdate();
}
}
boolean estado2=true;
public

void generar_listas(){

for(int filas=0;filas<contador;filas++){
try{
double
datos_x=Double.parseDouble(modelo.getValueAt(filas,0)+"");
double
datos_y=Double.parseDouble(modelo.getValueAt(filas,1)+"");
lista.add(new x_e_y(datos_x,datos_y));
estado2=true;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"ingrese solo numeros y/o
"
+ "valide los numeros\n validacion == enter",
"Error",JOptionPane.ERROR_MESSAGE);
estado2=false;
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
Object fuente = e.getSource();
if (fuente==eliminar_fila && modelo.getRowCount()!=0){
modelo.removeRow(modelo.getRowCount()-1);
contador--;
control--;
}

if (fuente==eliminar_fila_n && modelo.getRowCount()!=0){


modelo.removeRow(Integer.parseInt(fila_ingreso.getText()));
fila_ingreso.setText("");
contador--;
control--;
}
if (fuente==guardar_salir)
{
contador++;
lista.clear();
generar_listas();
try {
insertar();
} catch (SQLException ex) {
Logger.getLogger(Prueba21.class.getName()).log(Level.SEVERE,
null, ex);
}
ventana.setVisible(false);
}
if (fuente==consulta){
texto_a.setText("");
texto_b.setText("");
texto_r.setText("");
contador++;
lista.clear();
generar_listas();
if(estado2){
calculo();
lista.clear();
}
contador--;
}
}

public void calculo(){


double promedio_x=0,promedio_y=0,suma_x=0,suma_y=0,suma_x_e_y=0;
double x_menos_promedio_x[]=new double[contador];
double y_menos_promedio_y[]=new double[contador];
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
x_e_y e= datos.next();
suma_x+=e.getX();
suma_y+=e.getY();
}
promedio_x=suma_x/contador;
promedio_y=suma_y/contador;
System.out.println("prox"+promedio_x);
System.out.println("proy"+promedio_y);

int i=0;
for (Iterator <x_e_y>datos= lista.iterator(); datos.hasNext();){
x_e_y e= datos.next();
suma_x_e_y+=(e.getX()-promedio_x)*(e.getY()-promedio_y);
x_menos_promedio_x[i]=(e.getX()-promedio_x);
y_menos_promedio_y[i]=(e.getY()-promedio_y);
i++;
}
double suma_x_cuadrado=0,suma_y_cuadrado=0;
System.out.println("sumassss"+suma_x_e_y);
for(int jj=0;jj<contador;jj++){
suma_x_cuadrado+=((x_menos_promedio_x[jj])*(x_menos_promedio_x[jj]));
suma_y_cuadrado+= y_menos_promedio_y[jj]* y_menos_promedio_y[jj];
}
double resultado_b=(suma_x_e_y/suma_x_cuadrado);
double
resultado_r=((suma_x_e_y*suma_x_e_y)/(suma_x_cuadrado*suma_y_cuadrado));
double resultado_a=(promedio_y-(resultado_b*promedio_x));
/*

if(suma_x_e_y==0 ||suma_x_cuadrado==0){
resultado_a=promedio_y;
resultado_r=1;
}*/
texto_b.setText(""+resultado_b);
texto_a.setText(""+resultado_a);
texto_r.setText(""+resultado_r);

} }

Class opciones de inicio.

package prueba2;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.exceptions.MySQLSyntaxErrorException;
import conexion.conexion;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
/**
*
* @author Juan Vergara

*/
public final class opciones_de_inicio implements ActionListener{
JFrame ventana=new JFrame("programa Regrecion lineal");
JPanel p;
opciones_de_inicio(){
ventana.setLayout(null);
ventana.setSize(600,250);
p=new JPanel();
p.setLayout(null);
p.setBackground(Color.white);
p.add(boton2);
p.add(texto2);
p.add(texto);
p.add(text);
p.setSize(600,250);
ventana.add(p);
ventana.setResizable(false);
ventana.setVisible(true);
boton2.addActionListener(this);
boton2.setVisible(true);
texto2.setVisible(true);
boton2.setBounds(410, 79, 144, 23);
texto2.setBounds(10, 79, 230, 14);
text.setBounds(230, 79, 144, 20);
boton2.setText("Aceptar");
texto2.setText("Ingrese Nombre de la tabla");
}
JPanel p2=new JPanel();
JLabel texto=new JLabel();
JLabel texto2=new JLabel();
JTextField text=new JTextField();
JButton boton2=new JButton("aceptar");
public static void main(String argc []){
opciones_de_inicio i=new opciones_de_inicio();
}
public void crear_tabla(String nombre) throws SQLException{
conexion con=new conexion();
try {
PreparedStatement insert1 = (PreparedStatement)
con.getConexionMysql().prepareStatement(""
+ "create table "+nombre
+ " (id int not null auto_increment primary key ,"
+ " x double not null ,"
+ " y double not null)");
insert1.executeUpdate();
con.closeConexionMysql();
}
catch(MySQLSyntaxErrorException e){
JOptionPane.showMessageDialog(null,"la tabla ya existe o el nombre no
es valido"

+ "","Error",JOptionPane.ERROR_MESSAGE);
}
}
@Override
public void actionPerformed(ActionEvent e) {
Object fuente = e.getSource();
if(fuente==boton2){
try {
crear_tabla(text.getText());
Prueba21 p=new Prueba21(text.getText(),"insert");
text.setText("");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"la base de datos ya
existe o el nombre no es valido"
+ "","Error",JOptionPane.ERROR_MESSAGE);
}
}
}
}

Class x_e_y.

package prueba2;
public class x_e_y {
double x;
double y;
public x_e_y( double x, double y) {
this.x = x;
this.y = y;
}

public double getX() {


return x;
}

public double getY() {


return y;
}
public void setY(double y) {
this.y = y;
}
}

Cdigo aplicacin por consola

Clase main

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import java.util.Iterator;
import java.util.Scanner;

/**
*
* @author alexander
*/
public class Rxxyy {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

int a;

Scanner l = new Scanner(System.in);


System.out.println("desea

ingresar datos si o no");

String s=l.nextLine();
if(s.equalsIgnoreCase("si")){
System.out.println("ingrese cantidad de puntos a ingresar");
a = l.nextInt();

double xa[] = new double[a];


double ya[] = new double[a];
System.out.println("ingrese x e y");

for (int c = 0; c < a; c++) {


System.out.println("ingrese x, dato numero: " + (c + 1) + " de un
total de: " + a);
xa[c] = l.nextDouble();
System.out.println("ingrese y, dato numero: " + (c + 1) + " de un
total de: " + a);
ya[c] = l.nextDouble();
}

String info1;
System.out.println("desea calcular regreecion lineal");
System.out.println("SI/NO");
info1 = l.next();

while (info1.equalsIgnoreCase("si")) {

Regresion regresion = new Regresion(xa, ya);


regresion.lineal();
System.out.println("Recta de regresin ");
System.out.println("valor de a es

" +

System.out.println("valor de b es

" +

regresion.a);

regresion.b);
System.out.println("********************** ");
System.out.println("Indice de correlacin R" +
regresion.correlacion());

info1="no";
}

String info;
System.out.println("desea guardar en la base de datos");
System.out.println("SI/NO");
info = l.nextLine();

if (info.equalsIgnoreCase("si")){
ConexionMysql conMysql = new ConexionMysql();
try {
String cpersona = "insert into rxy values(?,?)";
for (int c = 0; c < a; c++) {
PreparedStatement ps =
conMysql.getConexionMysql().prepareStatement(cpersona);
ps.setDouble(1, xa[c]);
ps.setDouble(2, ya[c]);

int g = ps.executeUpdate();

} catch (SQLException e) {
System.out.println("Error en la consulta a nuestra Base de Datos:
" + e.getMessage());
} finally {
conMysql.closeConexionMysql();
}
}
} else
{

int cont=0;
ConexionMysql conMysql = new ConexionMysql();

try {
Statement st = conMysql.getConexionMysql().createStatement();
ResultSet rs = st.executeQuery("select * from rxy");

while (rs.next()) {
//guardamos en un arraylist del tipo personas los registros
de la tabla personas//
//lista_puntos.add(new personas(rs.getString("rut"),
rs.getString("nombre"), rs.getInt("edad")));
cont++;
//mostramos los registros de la tabla persona//
}

Double[] dx=new Double[cont];


Double[] dy=new Double[cont];
int in=0;
int ina=0;
ArrayList<Double> listax = new ArrayList<Double>();
ArrayList<Double> listay = new ArrayList<Double>();

Statement sta = conMysql.getConexionMysql().createStatement();


ResultSet rst = sta.executeQuery("select * from rxy");

while (rst.next()) {

listax.add(rs.getDouble("x"));
listay.add(rs.getDouble("y"));

//dx[in]=Double.parseDouble(rst.getString(1));
// dy[in]=Double.parseDouble(rst.getString(2));
// in++;

Iterator<Double> itx = listax.iterator();


Iterator<Double> ity = listay.iterator();
while(itx.hasNext())
{
dx[in]=listax.get(in);
in++;

}
while(ity.hasNext())
{
dy[ina]=listax.get(ina);
ina++;
}

System.out.println("obteniendo regrecion lineal desde la base de


datos");
Regresion reg = new Regresion(dx, dy);
reg.lineal();
System.out.println("Recta de regresin ");
System.out.println("valor de a es

" + reg.a);

System.out.println("valor de b es

" + reg.b);

System.out.println("********************** ");
System.out.println("Indice de correlacin R" +
reg.correlacion());

} catch (SQLException e) {
System.out.println("Error en la consulta a nuestra Base de Datos:
" + e.getMessage());
} finally {
conMysql.closeConexionMysql();
}

}
}
}

Clase regrecion
package rxxyy;

/**
*
* @author alexander
*/
public class Regresion {
private double[] x;
private double[] y;
private int n;
public double a, b;

//nmero de datos
//pendiente y ordenada en el origen

public Regresion(double[] x, double[] y) {


this.x=x;
this.y=y;
n=x.length; //nmero de datos
}

public void lineal(){


double pxy, sx, sy, sx2, sy2;
pxy=sx=sy=sx2=sy2=0.0;

for(int i=0; i<n; i++){


sx+=x[i];
sy+=y[i];
sx2+=x[i]*x[i];
sy2+=y[i]*y[i];
pxy+=x[i]*y[i];
}

b=(n*pxy-sx*sy)/(n*sx2-sx*sx);
a=(sy-b*sx)/n;
}
public double correlacion(){
//valores medios
double suma=0.0;
for(int i=0; i<n; i++){
suma+=x[i];
}
double mediaX=suma/n;

suma=0.0;
for(int i=0; i<n; i++){
suma+=x[i];
}
double mediaY=suma/n;
//coeficiente de correlacin
double pxy, sx2, sy2;
pxy=sx2=sy2=0.0;
for(int i=0; i<n; i++){
pxy+=(x[i]-mediaX)*(y[i]-mediaY);
sx2+=(x[i]-mediaX)*(x[i]-mediaX);
sy2+=(y[i]-mediaY)*(y[i]-mediaY);
}
return pxy/Math.sqrt(sx2*sy2);
}

Clase conexin

package rxxyy;

import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConexionMysql {

private Connection CnxMysql;

public ConexionMysql() {
this.CnxMysql = conectar();
}

private Connection conectar() {


try {
// Inicializar y registrar el Driver
Class.forName("com.mysql.jdbc.Driver");

// linea en donde se concreta la conexin con la Base de Datos.


Connection conMysql =
(Connection) DriverManager.getConnection(
"jdbc:mysql://db.inf.uct.cl/fcardenas2011",
"fcardenas2011",
"fc6543as");

System.out.println("conectado a Mysql.");
return conMysql;

} catch (Exception ex) {


// Si excurre algn Error, al intentar la conexin se ejecutar
este ambito.
System.out.println("Error ConexionMysql.conectar() "
+ "no se pudo establecer la conexion: \n"
+ex.getMessage());
return null;
}
}//fin del metodo conectar

public Connection getConexionMysql() {


return this.CnxMysql;
}

public void closeConexionMysql() {


try {
// System.out.println("desconectado de MYSQL.");
this.CnxMysql.close();
} catch (SQLException ex) {
System.out.println("Error ConexionMysql.closeConexionMysql() \n"
+ex.getMessage());
}
}
}

Capturas:

Aplicacin Swing.

Programa en Consola:

Conclusiones
La aplicacin basada en la arquitectura Cliente-Servidor, el grupo desarrollo
una solucin para poder lograr los objetivos planteados logrando conocer y
operar satisfactoriamente sobre la arquitectura cliente-servidor. Utilizando los
elementos claves para el desarrollo de este, presentando soluciones
satisfactorias para cumplir con lo desarrollado anteriormente a travs de la
problemtica planteada, siendo estos objetivos alcanzados satisfactoriamente
con la ayuda de diferentes programas (NetBean, MYSQL), teniendo una
relacin e interaccin del usuario y la aplicacin.

Vous aimerez peut-être aussi