ERRO ao usar o COUNT() ->função de agregação no SELEC

3 respostas
P

ola

estou fazendo um programa em java
ele conecta o MYSQL (pelo conector)

meu programa aceita todas aquelas coisas que vão no SELECT
ele só não aceita a função de agregação COUNT()

alguem sabe pq?

abaixo que um pedacinhu do cod e o erro que da

GRATO!


String SQL = select COUNT(*) from titulo;



st = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

res = st.executeQuery(SQL);	res.next();

ERRO que da

Exception occurred during event dispatching:

java.lang.ArrayIndexOutOfBoundsException: 0 >= 0

at java.util.Vector.elementAt(Vector.java:417)

at javax.swing.JTable$1.getValueAt(JTable.java:415)


3 Respostas

C

Fala irmão.
Você nãoquer postar seu código aqui.
Fica mais fácil de ajudar.
Abraço.
Charles

R

ArrayIndexOutOfBoundsException

… algo acontece em algum array q vc está utilizando, geralemente está exception rola quando vc estoura o limite dele!!!

post todo o seu código aí !

flw!

P
import java.sql.<em>;

import javax.swing.</em>;

import java.awt.<em>;

import java.awt.event.</em>;

import java.util.*;
public class Leitura extends JFrame

{

Connection conexao;

JTable tab;
public static void main(String args[])

{

JFrame Janela = new Leitura();

Janela.show();

WindowListener x = new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

};

Janela.addWindowListener(x);

}
public Leitura()

{

setTitle( Tabela de Filmes );

setSize(600,300);

try

{

Class.forName( org.gjt.mm.mysql.Driver );

String serverName = localhost;

String mydatabase = tst1;

String username = paullohf;

String password = alwino;

String url = jdbc:mysql://” + serverName + “/” + mydatabase;

conexao = DriverManager.getConnection(url, username, password);

System.out.println("CONECTADO AO BANDO DE DADOS: "+mydatabase);

}

catch (ClassNotFoundException cne)

{

System.out.println(Erro ao carregar o driver JDBC);

}

catch (SQLException sqlne )

{

System.out.println(Problemas na Conexão);

}

buscaTabela();

}
private void buscaTabela()

{

Statement st;

ResultSet res;

try

{

Vector cabecalho = new Vector();

Vector linhas = new Vector();

String SQL = selectCOUNT(*)from titulo;
st = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   //st = conexao.createStatement();
   res = st.executeQuery(SQL);	res.next();
   /*if (res.next()) {
            int count = res.getInt(1);
            System.out.println("Problemas na Conexão=&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;"+res.getInt(1));
        }
   System.out.println("Problemas na Conexão=&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;"+res.getInt(1));  */


   // busca os cabeçalhos
   ResultSetMetaData rsmd = res.getMetaData();
   for ( int i = 1; i &lt;= rsmd.getColumnCount(); ++i ){
      cabecalho.addElement( rsmd.getColumnName( i ) );
      }
   // busca dados das linhas
   do
    {
    linhas.addElement( proximaLinha( res, rsmd ) );
    }
   while ( res.next() );

   // Mostra a tabela com cabeçalhos e registros
   tab = new JTable( linhas, cabecalho );
   JScrollPane scroller = new JScrollPane( tab );
   getContentPane().add(scroller, BorderLayout.CENTER);
   validate();

   st.close();
   }
  catch (SQLException sqlex)
    { }

}

private Vector proximaLinha(ResultSet rs, ResultSetMetaData rsmd )

{

Vector LinhaAtual = new Vector();

try

{

for ( int i = 1; i <= rsmd.getColumnCount(); ++i )

{

switch( rsmd.getColumnType(i))

{ <a href="//System.out.println">//System.out.println</a>("========>"+rs.getString(i));

case Types.VARCHAR:

LinhaAtual.addElement(rs.getString(i));break;

case Types.INTEGER:

LinhaAtual.addElement(new Long(rs.getLong(i)));break;

case Types.TIMESTAMP:

LinhaAtual.addElement(rs.getDate(i));break;
}
 }
}
catch(SQLException e) {}
return LinhaAtual;

}
}

Criado 23 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 3
Participantes 3