como pasar un dato a otra clase?

Iniciado por owen, 12 Febrero 2016, 05:01 AM

0 Miembros y 1 Visitante están viendo este tema.

owen

Bueno primero quiero agradecer a todo el que me pueda ayudar con el problema que tengo, verán tengo una clase que tiene tres métodos uno es hacer conexión con MySql, el otro cierra dicha conexión y el ultimo que es donde tengo el problema que es el que realiza consultas y es que nose como hacer que me retorne un valor de la tabla de la base de datos.

este es el código que tengo:

package conexion;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class SQL {
    private static Connection Conexion;
   
    public void MySQLConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Conexion = DriverManager.getConnection("jdbc:mysql://localhost/base_de_datos","root","");
            System.out.println("Se ha iniciado la conexión con el servidor de forma exitosa");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
   
    public void closeConnection() {
        try {
            Conexion.close();
            System.out.println("Se ha finalizado la conexión con el servidor");
        } catch (SQLException ex) {
            Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
   
    public void getValues(String nombre) {
        try {
            String Query = "SELECT * FROM "+nombre;
            Statement st = Conexion.createStatement();
            java.sql.ResultSet resultSet;
            resultSet = st.executeQuery(Query);

            while (resultSet.next()) {
                System.out.println(
                         "Nombre: " + resultSet.getString("nombre") + " "
                        + "Direcion: " + resultSet.getString("direcion"));
               
            }

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Error en la adquisición de datos");
        }
    }

   
}


Para explicarme mejor necesito exatrar el valor que me arroje esto(nombre y dirección) y usarlo en otra clase:

while (resultSet.next()) {
                System.out.println(
                         "Nombre: " + resultSet.getString("nombre") + " "
                        + "Direcion: " + resultSet.getString("direcion"));
               
            }


espero me puedan ayudar en mis inicios de java, desde ya muchas gracias!!

0xFer

#1
Conozco dos formas:
1. Crea un objeto de la clase que contiene los datos que vas a utilizar, en el lugar donde vayas a utilizar esos datos.

Por ejemplo, supongamos que tenemos una clase que calcula la suma de 2 números:

Código (java) [Seleccionar]

class Suma{
   private int num1;
   private int num2;
   public Suma(int num1,int num2){
       this.num1 = num1;
       this.num2 = num2;  
   }
   
   public int resultado(){
       return num1 + num2;
   }
}


Ahora simplemente creamos un objeto de la clase suma:
Código (java) [Seleccionar]
Suma mySuma = new Suma(2,2); //2 + 2
System.out.println(mySuma.resultado());//imprime 4


2. Haz que las variables que vayas a utilizar sean estáticos( usa la palabra reservada static), así no es necesario crear un objeto de la clase que contiene la variable, puedes acceder al valor de la variable poniendo NombreClase.NombreVariableEstática. al usar static en una variable haces que todas las instancias de una clase( los objetos ) tengan en mismo valor para esa variable, como si fuera una sola variable para todas las instancias.

Código (java) [Seleccionar]
class AlgunaClase{
    public static int variable;

}


para acceder a la variable: AlgunaClase.variable
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

owen

Gracias amigo! me fue de mucha utilidad

0xFer

Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}