Você está aqui: Java ::: Java + Bancos de Dados ::: ResultSet |
Entenda e aprenda a usar a interface ResultSet em suas aplicações Java + Banco de DadosQuantidade de visualizações: 8597 vezes |
Um objeto da interface ResultSet, do pacote java.sql, representa um conjunto de dados em formato tabular, retornado, em geral, como resultado de uma instrução SQL do tipo SELECT em um banco de dados. As superinterfaces desta interface são AutoCloseable e Wrapper. Suas sub-interfaces mais conhecidas são CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, RowSet, SyncResolver e WebRowSet. Um objeto ResultSet mantém um cursor que aponta para seu registro atual de dados. Inicialmente o cursor é posicionado antes do primeiro registro. O método next() move o cursor para o próximo registro. Quando o método next() não consegue mover o cursor para o próximo registro (por estarmos já no fim do result set) ele retorna false, o que facilita seu uso dentro de um laço while que percorre todos os registros do ResultSet. Um objeto ResultSet padrão não permite atualização de seus dados e possui um cursor que se move somente para a frente. Dessa forma, podemos percorrer seus dados somente uma vez e somente do primeiro para o último registro. É possível criar objetos ResultSet que podem ser percorridos mais de uma vez e em ambas as direções (para frente e para trás) e que permitem atualizações dos dados. Veja mais dicas nesta seção para saber mais sobre estas possibilidades. Considere a seguinte tabela MySQL chamada "livros": Field Type Null Key Default Extra id int(10) unsigned NO PRI - auto_increment titulo varchar(45) NO - - - autor varchar(45) NO - - - preco double NO - - - package estudosjavamysql; import java.sql.*; public class EstudosJavaMySQL{ public static void main(String[] args){ // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); // vamos obter um objeto Connection Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um Statement para disparar instruções SQL no banco de dados Statement stmt = conn.createStatement(); // vamos disparar a consulta e obter os resultados em um ResultSet ResultSet rs = stmt.executeQuery("SELECT * FROM livros"); // finalmente vamos percorrer os dados retornados while (rs.next()) { int id = rs.getInt("id"); String titulo = rs.getString("titulo"); String autor = rs.getString("autor"); Ao executarmos este código teremos um resultado parecido com: Código: 1 Título: Java - Como Programar Autor: M. D. Deitel Preço: 210.3 Código: 9 Título: Desenvolvendo Aplicações Web Usando JSP Autor: Osmar J. Silva Preço: 120.99 Veja que, quando disparamos este código, a variável rs guardará um referência a uma classe que implementa a interface ResultSet. No Sun Microsystem's JDBC Driver for MySQL, esta classe se chama ResultSetImpl.java e está no pacote com.mysql.jdbc. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |