Foros del Web » Programación para mayores de 30 ;) » Java »

Almacenar dato en variable

Estas en el tema de Almacenar dato en variable en el foro de Java en Foros del Web. Hola gente, luego de una consulta que es esta: Código: cant_filas = bdmClientes.getSt(). executeQuery("SELECT COUNT(*) AS cant_filas FROM clientes"); cant_filas.next(); Object[] totalNumFilas = {cant_filas.getObject("cant_filas")}; System.out.println(totalNumFilas ...
  #1 (permalink)  
Antiguo 04/04/2012, 14:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 1
Almacenar dato en variable

Hola gente, luego de una consulta que es esta:
Código:
cant_filas = bdmClientes.getSt().
			executeQuery("SELECT COUNT(*) AS cant_filas FROM clientes");
			cant_filas.next();
		    Object[] totalNumFilas = {cant_filas.getObject("cant_filas")};
		   System.out.println(totalNumFilas [0]);
El tema es que quiero almacenar el valor de la variable totalNumFilas en una variable tipo int, si le hago System.out.println(totalNumFilas [0]); me imprime el valor, pero no consigo usar el valor de variable.

Gracias.
  #2 (permalink)  
Antiguo 04/04/2012, 21:24
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: Almacenar dato en variable

Hazle la conversión:

int variableInt=Integer.parseInt(String.valueOf(totalN umFilas [0])));
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-
  #3 (permalink)  
Antiguo 05/04/2012, 01:55
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Almacenar dato en variable

Hola, perdonen que os tenga abandonados tanto tiempo, pero tengo exceso de trabajo jeje.

La respuesta de calichecal es correcta, pero quería ir un poco más allá.

La variable Object[] totalNumFilas como indica es un Array de Object, objetos genéricos que no se sabe en principio qué tipo tienen (tú igual sí lo sabes, pero la aplicación no).

Por tanto si sabes que es un Integer y lo quieres usar como int, bien podrías hacer
un cast directo.
int tuVariable = ((Integer) totalNumFilas[0]).intValue();

¿Pero qué ocurre si totalNumFilas[0] es otro objeto distinto? Por ejemplo un long.
Entonces ese cast directo a Integer no funcionaría y lanzaría una ClassCastException, de ahí que se use String.valueOf(Object) para transformarlo a String y luego de nuevo a Integer.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #4 (permalink)  
Antiguo 05/04/2012, 13:57
 
Fecha de Ingreso: agosto-2011
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Almacenar dato en variable

Hola, hace algunos dias ya habia encontrado la solucion que precisamente es esta.

Código:
cant_filas = bdmClientes.getSt().
			executeQuery("SELECT COUNT(*) AS cant_filas FROM clientes");
			cant_filas.next();
		    Object[] resultado = {cant_filas.getObject("cant_filas")};
		    
		    int totalNumFilas = ((Number)resultado[0]).intValue();
Tendré en cuenta las respuestas, gracias.
  #5 (permalink)  
Antiguo 13/04/2012, 16:33
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: Almacenar dato en variable

no entendi para que usas un arreglo para poner tu total de filas si lo puedes usar directamente

cant_filas = bdmClientes.getSt().executeQuery("SELECT COUNT(*) AS cant_filas FROM clientes");
Int total_filas = Integer.parseInt(cant_filas.getString("cant_filas" );
o pueba tambien si lo puedes usar de esta forma que estoy casi seguro que si
Int total_filas =cant_filas.getInt("cant_filas");

y listo, ocupas menos memoria y escribes menos codigo, q tambien le pega al performance

suerte!!!!!!!!!

Etiquetas: almacenar, dato, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:08.