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)
…
Fala irmão.
Você nãoquer postar seu código aqui.
Fica mais fácil de ajudar.
Abraço.
Charles
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!
import java.sql.;
import javax.swing.;
import java.awt.;
import java.awt.event.;
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=>>>>>>>>>>>>>>>>>>>>"+res.getInt(1));
}
System.out.println("Problemas na Conexão=>>>>>>>>>>>>>>>>>>>>"+res.getInt(1)); */
// busca os cabeçalhos
ResultSetMetaData rsmd = res.getMetaData();
for ( int i = 1; i <= 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))
{ //System.out.println("========>"+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;
}
}