Resultados 1 al 8 de 8

Tema: Necesito que alguien me indique como hacer un metodo en java

  1. #1
    El señor de los forillos Avatar de Shook
    Ubicación
    Madrid
    Mensajes
    4,755

    Predeterminado Necesito que alguien me indique como hacer un metodo en java

    Holas...

    Resulta que estoy haciendo prácticas en java con RMI, de modo que necesito un método con las siguientes características:

    - Se le llame sin parámetros
    - Devuelva en el return la consulta de una base de datos.

    El método se llamará verTabla, y en el interior del método se accederá a la base de datos y se captarán todos los datos de una tabla y se devolverá con el return.

    El problema que tengo es que, se devolver INT, STRING... pero el resultado (tabla) de una consulta... no!

    Alguien me ayuda???

    Muchas gracias de antemano

  2. #2
    El señor de los forillos Avatar de Axelko
    Ubicación
    53 45 53 54 41 4F 5B 42 49 5A 4B 41 49 41 5D
    Mensajes
    2,526

    Predeterminado

    Lo que tienes que hacer es devolver un objeto creado por ti. Por ejemplo, si la consulta lo que devuelve es la info de una tabla de cuentas de usuario (id, usuario, clave), crea un objeto Cuenta con los mismos parámetros de la tabla, a modo de reflejo de la misma:

    Código:
    public class Cuenta
    {
       private int id;
       private String usuario;
       private String clave;
    
       public Cuenta(int id, String usuario, String clave)
       {
           this.id = id;
           this.usuario = usuario;
           this.clave = clave;
       }
    
       public int getID()
       {
           return id;
       }
    
       public String getUsuario()
       {
           return usuario;
       }
    
       public String getClave()
       {
           return clave;
       }
    
    }
    Y la propia función de la consulta seria algo asi como (no recuerdo como van las consultas en Java, así que hay cachos de pseudocódigo):
    Código:
    public Vector verTabla()
    {
         Vector datos = new Vector();
         //aqui la consulta
         while(haydatos)
         {
               //creamos las variables id,usuario,clave con los datos de la fila actual
               Cuenta cuenta = new Cuenta(id,usuario,clave);
               datos.add(cuenta);
         }
         return datos;
    }

  3. #3

    Predeterminado

    Otra cosa que puedes hacer es devolver SIEMPRE es un Vector de Vectores de String

    Cada Fila será un Vector de Strings

    Resultado =>Vector={ Fila1,Fila2,Fila3 }

    Yo uso el VS.NET y el C#tiene una cosa muy chula que see llama DataSet, que sirve para trabajar con Bases de Datos(entre otras cosas)

    Mira a ver si en Java hay algo parecido...

    De todas maneras, sigo viendo que la mejor manera de trabajar con este tipo de datos, son las colecciones anidadas...

    Suerte!
    1.- 3200+/A8N-E/2x256@333/X700SE@450/620
    2.- Ahtec Signal 400M X27

  4. #4
    El señor de los forillos Avatar de Shook
    Ubicación
    Madrid
    Mensajes
    4,755

    Predeterminado

    Muchísimas gracias!

    Lo he hecho con vectores y va de fábula, a ver si termino la práctica... es curioso esto de servlets + RMI...

    Saludos

  5. #5

    Predeterminado

    Me alegro de que te funcione... xDD
    1.- 3200+/A8N-E/2x256@333/X700SE@450/620
    2.- Ahtec Signal 400M X27

  6. #6
    El señor de los forillos Avatar de Shook
    Ubicación
    Madrid
    Mensajes
    4,755

    Predeterminado

    Fue por cierto un vector de clases, fui añadiendo una tras otra para poder enviarla del RMI al Servlet.

    Aun asi hay una cosa q no se xq no se qja el compilador y el programa... xo rula asiq

    Porque dentro de un bucle creo la clase Articulo, al final del bucle la añado a un vector y vuelve a entrar al bucle volviendo a crear la clase articulo y volviendola a meter... asi hasta q termine de leer la base de datos...

    X lo que si hago Articulos articulo = new Articulos(); dos veces deberia cascar ya q creo 2 veces el mismo articulo... xo rula, debe ser xq se entera q lo meto en un vector...

    Saludos

  7. #7
    El señor de los forillos Avatar de Axelko
    Ubicación
    53 45 53 54 41 4F 5B 42 49 5A 4B 41 49 41 5D
    Mensajes
    2,526

    Predeterminado

    Lo que creas en una sección se destruye al finalizar ésta. Es decir, que si tienes un bucle, todos los objetos creados en ese bucle se destruyen al completar una pasada del mismo. Ocurre lo mismo en un IF, o en una función.

    Salu2.

  8. #8
    Vive aquí Avatar de minitu
    Ubicación
    Barcelona
    Mensajes
    579

    Predeterminado

    Cita Iniciado por Shook
    X lo que si hago Articulos articulo = new Articulos(); dos veces deberia cascar ya q creo 2 veces el mismo articulo... xo rula, debe ser xq se entera q lo meto en un vector...

    Saludos
    En Java nunca creas dos veces un objeto. Son dos o mas objetos distintos y en un momento, tienes uno o mas referenciados desde el vector, y otro referenciado en la variable articulo.

    Piensa en articulo no como un objeto, sino como una referencia a un objeto. Y el vector, como un contenedor de referencias a objetos.

    Así lo veras mas claro.

    Un saludo.
    PC1: Asus P8Z68-V PRO, 2500K, 8Gb Gskill Ripjaws, SSD Crucial M4 128GB, MSI 560GTi Twin FrozrII, Seasonic X-Series 750W.
    PC2: Asus A8N SLI Deluxe, AMD 4200 x2 2x1Gb Gskill DDR400 CL2.5 Sapphire HD4870 Fuente HyperX 580W BENQ G2400
    NAS: Synology DS413j (3x3TB)

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •