Olá!
Estava fazendo um SELECT com Java via JDBC, usando as seguintes funções:
Funções principais:
public static void selecionatudo() throws SQLException //função padrão para ser chamada // aqui ok
{
conecta();
query = "SELECT * FROM tblDepartamento";
rs = stmt.executeQuery(query);
tdcmp(); // função que é chamada que está dando o problema
fecha(); // chama função que fecha conexão e statement
}
public static void conecta() throws SQLException // função de conexão e instancia statement // aqui ok
{
conn = Conexao.getConnection();
stmt = conn.createStatement();
}
public static void tdcmp() throws SQLException // função em que deve imprimir no console os
{ // registros selecionados
System.out.println(" ____________ ");
// aqui é o problema:
if(rs.next()==false)
{
System.out.println("Não há registros com o valor requisitado.");
}
else{
while (rs.next()==true)
{
Cod_depto = rs.getInt("Cod_depto");
Descricao = rs.getString("Descricao");
Responsavel = rs.getString("Responsavel");
System.out.println(" // "+ Cod_depto + " || "+ Descricao + " || " + Responsavel);
}
}
}
O que acontece é que ao imprimir os registros ele pula o primeiro, tentei ultilizar o rs.first() porém não deu certo, lembrando que preciso verificar se há registros ou não.
[b]Tentativa com rs.first()
public static void tdcmp() throws SQLException
{
System.out.println(" ____________ ");
if(rs.first()==true)
{
do { Cod_depto = rs.getInt("Cod_depto");
Descricao = rs.getString("Descricao");
Responsavel = rs.getString("Responsavel");
System.out.println(" // "+ Cod_depto + " || "+ Descricao + " || " + Responsavel);
} while (rs.next()==true);
}
else
{
System.out.println("Não há registros com o valor requisitado.");
}
}
Obs.: Os erros que dão quando tento o método àcima são os seguintes:
Exception in thread “main” com.microsoft.sqlserver.jdbc.SQLServerException: A operação solicitada não tem suporte em conjuntos de resultados somente de encaminhamento.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.throwNotScrollable(SQLServerResultSet.java:375)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyResultSetIsScrollable(SQLServerResultSet.java:398)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.first(SQLServerResultSet.java:1313)
at Classes.Departamento.tdcmp(Departamento.java:131)
at Classes.Departamento.selecionatudo(Departamento.java:100)
at Conexao.Iniciar.main(Iniciar.java:27)
Enfim… como posso resolver isso? Quero que imprima todos os registros selecionados no banco de dados, porém não imprime o primeiro… (só lembrando hehe)
Grata se alguém puder ajudar!
por isso comentei, já que o 
