Java - Tamaño de Un resultSet???

 
Vista:

Tamaño de Un resultSet???

Publicado por webness (14 intervenciones) el 12/07/2005 22:52:51
Hola, porfin me pude conectar a Mysql, pero ahora necesito saber cuantas tuplas me devuelve una consulta que queda guardada en un Objeto ResultSet rs=stm.ExecuteQuery(sql);
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

RE:Tamaño de Un resultSet???

Publicado por Wilfredo Vargas Almendras (314 intervenciones) el 12/07/2005 23:09:04
Creo que esto te puede servir ...

Statement lectura2;
ResultSet resultado2;
lectura2 = conexion.createStatement();
resultado2 = lectura2.executeQuery(consulta);
int numeroFilas = 0;
while (resultado2.next())
numeroFilas++;

SALUDOS WVA
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

Asi no me sirve

Publicado por webness (14 intervenciones) el 12/07/2005 23:21:44
Lo que pasa es que asi no me sirve, porque yo lo que estoy haciendo dentro del while es insertar las tuplas sacadas de la base de datos a un array multidemensional de tipo Object, que aprendi a definir gracias a tu nota puesta mas abajito. Pero el numero de filas de este Object depende es de el numero la longitud del resultset, y obviamente este lo defino antes de Usarlo.
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

Ahora ???

Publicado por Wilfredo Vargas Almendras (314 intervenciones) el 12/07/2005 23:31:16
Bueno lo que puedes hacer es sacarte una copia a tu ResultSet y copiar luego de sacarle el tamaño, es decir utilizar dos ResultSet, uno original y otro copiado... o en todo caso, hacer la consulta dos veces, uno para conocer el numero de filas y otro para copiar las filas a tu Object..... O la mejor opcion cada vez que haces un next(), esto almacenarlo en una lista, y con esta puedes hacer lo que quieras...
Espero ahora te sirva...

SALUDOS WVA
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

hmmm

Publicado por webness (14 intervenciones) el 12/07/2005 23:52:50
ya le mando el codigo, pa que lo mire, lo que pasa es que el Object lo defino fuera del try y la tabla la creo tambien fuera del try, pero el tamaño necesito darcelo es adentro del try, pero al momento de crear la tabla dentro del try no funciona

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.table.*;
import java.sql.*;

public class Tabla extends JPanel
{
public Tabla()
{
this.setBackground(new Color(255,255,255));
this.setLayout(null);
this.setVisible(true);

String[] columnNames = {"ID", "NOMBERS","LOGIN"};
Object data[][]=new Object[3][];
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String urlOdbc = "jdbc:odbc:univalle";
Connection conexion = DriverManager.getConnection(urlOdbc,"root","");
String select = "SELECT * FROM estudiantes";
Statement statement = conexion.createStatement();
ResultSet rs=statement.executeQuery(select);
int i;
i=0;
while(rs. next())
{
data[i]=new Object[3];
data[i][0]=new Integer(rs.getInt("id"));
data[i][1]=rs.getString("nombres");
data[i][2]=rs.getString("login");
//System.out.println(rs.getInt("id")+" "+rs.getString("nombres"));
i++;
}
}catch(SQLException e){ System.out.println("sql "+e.getCause());}
catch(ClassNotFoundException e){ System.out.println("class "+e.getMessage());}

/*data[0]=new Object[6];
data[1]=new =new Object[6];*/

final JTable tabla=new JTable(data,columnNames);
tabla.setAutoscrolls(true);
tabla.reshape(60,100,600,180);

tabla.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent e)
{
System.out.println(tabla.getValueAt(tabla.getSelectedRow(),tabla.getSelectedColumn()));
/*if(tabla.getColumnName(tabla.getSelectedColumn())=="ID")
{
String id=tabla.getValueAt(tabla.getSelectedRow(),tabla.getSelectedColumn());
int i;
i=Integer.parseInt(id);
}*/

}
public void mouseReleased(MouseEvent e){ }
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){ }
public void mousePressed(MouseEvent e){}
}
);
JScrollPane scroll=new JScrollPane(tabla);
scroll.reshape(40,100,500,90);
add(scroll);
}
}
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:hmmm

Publicado por Yamil Bracho (2315 intervenciones) el 13/07/2005 15:57:54
Puedes hacerlo de dos maneras:
1) Ejecutando un SELECT COUNT(*) antes de tu consulta. Lo unico malo con esto es que ejecutas dos consultas en vez de una
2) Hacer que tu resultset sea scrollable y asi te puedfes desplazar al ultimo registro usando last() y luego usas getRow() para que te de el numero de fila
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