Java - Ayuda con ResultSet Urgente

 
Vista:
Imágen de perfil de Enzo

Ayuda con ResultSet Urgente

Publicado por Enzo (8 intervenciones) el 20/09/2016 20:30:44
El problema que tengo que que al tomar el Resultset para saber el estado de unas Habitaciones(Los estados son solo 3(1,2 y 3))) y cuando hago el respectivoResultSet rs= consultaStatus.executeQuery(); me da los estatus así:
1
2
1
1
3
2
1
ok todo bien hasta aqui, el problema es que quiero almacenar esos valores en un array de int.
o sea separar las filas y no que me las de todo junto y devolver esa array



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private int[] DameStatusCabanas()
{
	String instruccionSql="SELECT estado FROM HABITACION";
 
	int[] statusHabitacion =new int[8];
 
	try
	{
		Connection conecta= DriverManager.getConnection("jdbc:mysql://localhost:8889/Hospedaje",
				"root","root");
 
		PreparedStatement consultaStatus=conecta.prepareStatement(instruccionSql);
 
		ResultSet rs= consultaStatus.executeQuery();
 
		while(rs.next())
		{
			System.out.println(rs.getInt(1));
		}
 
		rs.close();
 
	} catch (SQLException e)
	{
		// TODO Auto-generated catch block
		e.printStackTrace();
		System.out.println("Error al buscar el Status de las habitaciones");
	}
 
	return statusHabitacion;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con ResultSet Urgente

Publicado por YYanes (144 intervenciones) el 20/09/2016 20:49:11
Fíjese en este ejemplo y adáptelo a su caso. Espero le sirva!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public LinkedList<int> GetListaInt()
{
  LinkedList<int> lista = new LinkedList<int>();
  String consulta = "Select Id FROM Tabla Order by Id; ";
  int id = 0;
    try {
        PreparedStatement preSt = conexion.prepareStatement(consulta);
        preSt.execute();
        ResultSet rs = preSt.executeQuery();
           while (rs.next())
           {
            id = rs.getInt(1);
            lista.add(id);
           }
        }
    catch (Exception e) {
    }
return lista;
}

Un GigaSaludo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Enzo

Ayuda con ResultSet Urgente

Publicado por Enzo (8 intervenciones) el 20/09/2016 20:59:17
Genial, lo intentare adaptar,
me pregunto si funcionara también con un ArrayList<int>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enzo

Ayuda con ResultSet Urgente

Publicado por Enzo (8 intervenciones) el 20/09/2016 21:12:56
Te comento qu me funciono a la perfección muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ResultSet Urgente

Publicado por YYanes (144 intervenciones) el 20/09/2016 21:16:40
No hay de qué, amigo, estamos para servirnos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ResultSet Urgente

Publicado por YYanes (144 intervenciones) el 20/09/2016 21:15:11
Bueno, no he probado específicamente con un ArrayList pues nunca lo he necesitado. Pero el LinkedList es genérico, y con él no solo puedes hacer listas de un tipo específico de valores (LinkedList<int>, LinkedList<String>... etc) sino que puedes almacenar objetos enteros dentro de la misma. Ejemplo:

1
2
3
LinkedList<JClaseX> lista = new LinkedList<JClaseX>();
JClaseX objClase = new JClaseX(parametro1, parametro2);
lista.add(objClase);

luego podrás decir:
1
lista.get(1).GetParametro1(); //asumiendo que el método GetParametro1() esté implementado dentro de la clase JClaseX
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enzo

Ayuda con ResultSet Urgente

Publicado por Enzo (8 intervenciones) el 20/09/2016 21:18:45
si que sirvio, lo dejo abajo por si acaso otra persona lo necesite

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
private  ArrayList<Integer> DameStatusCabanas()
{
	String instruccionSql="SELECT estado FROM HABITACION";
 
	ArrayList<Integer> statusHabitacion =new ArrayList<>();
 
	try
	{
		Connection conecta= DriverManager.getConnection("jdbc:mysql://localhost:8889/Hospedaje",
				"root","root");
 
		PreparedStatement consultaStatus=conecta.prepareStatement(instruccionSql);
 
		ResultSet rs= consultaStatus.executeQuery();
 
		while(rs.next())
		{
 
			//System.out.println(rs.getInt(1));
 
			statusHabitacion.add(rs.getInt(1));
 
		}
		rs.close();
 
 
	} catch (SQLException e)
	{
		// TODO Auto-generated catch block
		e.printStackTrace();
		System.out.println("Error al buscar el Status de las habitaciones");
	}
 
	return statusHabitacion;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ResultSet Urgente

Publicado por Gamiño (1 intervención) el 20/09/2016 21:15:34
Hola.
Enzo.
Como sabes los estados de cada una de las habitaciones?
Porque no filtras desde la consulta por cuarto.
Me imagino que tu tabla debe de tener id que la relacione con el id del cuarto.
desde ahí puedes saber que estatus tiene cada cuarto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enzo

Ayuda con ResultSet Urgente

Publicado por Enzo (8 intervenciones) el 20/09/2016 21:24:11
es que necesito el estatus de todas las habitaciones al momento de iniciar el programa por que dependiendo del estatus cada habitación cambiara de color, dejo una imagen para que se entienda mejor, y si lo hago cuarto por cuarto imagino que no va a ser tan eficiente como hacer una sola pregunta, igual lo pude resolver con un ArrayList, muchas gracias por el interés

el archivo es una captura de pantalla no es virus.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar