Contar linhas atraves de retorno de sql

3 respostas
D

Boa noite pessoal, preciso de um help;

Eu estou tentando criar um codigo que faça uma busca numa tabela (banco sqlserver) e me retorne o numero de linhas do meu sql. Mas estou com problema capturar esse valor no java.

Meu codigo esta abaixo:

public class Controlador {

    java.sql.Connection con = null;
    private String url = "jdbc:sqlserver://";
    private String servidor = "127.0.0.1";
    private String porta = "1433;";
    private String bancoDados = "rtsSistemas";
    private String usuario = "sa";
    private String senha = "schmitt";
    private String stringConexao = url + servidor + ":" + porta + ";databaseName=" + bancoDados + ";";

    public String contaPendencia() throws ClassNotFoundException, SQLException {
       
        java.util.Date horaAtual = new java.util.Date();
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        con = java.sql.DriverManager.getConnection(stringConexao, usuario, senha);
        if (con != null) {
            System.out.println("conexao ok");
            String selectSql = "SELECT count (*)  FROM Relacionamento where dataProximaAcao >= '19-08-2010'";
            Statement comandoSelect = con.createStatement();
            ResultSet c = comandoSelect.executeQuery(selectSql);
            int teste = aqui eu nao sei que metodo eu uso para pegar o quantidade de linhas do ResultSet
           
          //  System.out.println("Pendecias desta semana = "+ teste );
            con.close();
            System.out.println("conexao fechada");
        }
        return null;
    }
}

Se eu estiver indo pelo caminho errado me avisem por favor, agradeco desde ja.

3 Respostas

A

deciojunior:
Boa noite pessoal, preciso de um help;

Eu estou tentando criar um codigo que faça uma busca numa tabela (banco sqlserver) e me retorne o numero de linhas do meu sql. Mas estou com problema capturar esse valor no java.

Meu codigo esta abaixo:

public class Controlador {

    java.sql.Connection con = null;
    private String url = "jdbc:sqlserver://";
    private String servidor = "127.0.0.1";
    private String porta = "1433;";
    private String bancoDados = "rtsSistemas";
    private String usuario = "sa";
    private String senha = "schmitt";
    private String stringConexao = url + servidor + ":" + porta + ";databaseName=" + bancoDados + ";";

    public String contaPendencia() throws ClassNotFoundException, SQLException {
       
        java.util.Date horaAtual = new java.util.Date();
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        con = java.sql.DriverManager.getConnection(stringConexao, usuario, senha);
        if (con != null) {
            System.out.println("conexao ok");
            String selectSql = "SELECT count (*)  FROM Relacionamento where dataProximaAcao >= '19-08-2010'";
            Statement comandoSelect = con.createStatement();
            ResultSet c = comandoSelect.executeQuery(selectSql);
            int teste = aqui eu nao sei que metodo eu uso para pegar o quantidade de linhas do ResultSet
           
          //  System.out.println("Pendecias desta semana = "+ teste );
            con.close();
            System.out.println("conexao fechada");
        }
        return null;
    }
}

Se eu estiver indo pelo caminho errado me avisem por favor, agradeco desde ja.


Boa noite, eu acho que entendi um pouco seu problema, você quer fazer uma maneira que conte quantas linha foram retornada do ResultSet, caso seja isso mesmo tente fazer isso aqui… caso não seja isso que eu entendi ou caso minha sugestão não de certo você avisa…

public class Controlador {

    java.sql.Connection con = null;
    private int teste = 0; // DECLAEIA VARIÁVEL TESTE AQUI... 
    private String url = "jdbc:sqlserver://";
    private String servidor = "127.0.0.1";
    private String porta = "1433;";
    private String bancoDados = "rtsSistemas";
    private String usuario = "sa";
    private String senha = "schmitt";
    private String stringConexao = url + servidor + ":" + porta + ";databaseName=" + bancoDados + ";";

    public Int contaPendencia() throws ClassNotFoundException, SQLException {
       
        java.util.Date horaAtual = new java.util.Date();
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        con = java.sql.DriverManager.getConnection(stringConexao, usuario, senha);
        if (con != null) {
            System.out.println("conexao ok");
            String selectSql = "SELECT count (*)  FROM Relacionamento where dataProximaAcao >= '19-08-2010'";
            Statement comandoSelect = con.createStatement();
            ResultSet c = comandoSelect.executeQuery(selectSql);
            int teste = aqui eu nao sei que metodo eu uso para pegar o quantidade de linhas do ResultSet   
             while(c.next){ // Enquanto existir dados repita;
                 teste++;
            }
           
          //  System.out.println("Pendecias desta semana = "+ teste );
            con.close();
            System.out.println("conexao fechada");
        }
        return teste;
    }
}

Não sei se entendi realmente o que vc deseja, mas esse se for realmente o que eu entendi, esse método irá retorna a quantidade de linha da consulta!!!

Z

Boa madrugada galera,

Porque não faz algo mais simples, substituindo isso:

SELECT count (*) FROM Relacionamento where dataProximaAcao >= ‘19-08-2010’

por isso

SELECT count (*) total FROM Relacionamento where dataProximaAcao >= ‘19-08-2010’

e depois pegando o valor de total, através de algo como c.getLong(total). (Não sei se seria getLong, mas se nao for será outro getAlgumaCoisa.

[]s

H

Caso depois de contar, vc não tenha que trabalhar com os valores retornados, faça como o Zeed01 falou que vai ser melhor para sua aplicação.

Criado 19 de agosto de 2010
Ultima resposta 20 de ago. de 2010
Respostas 3
Participantes 4