JSP / Banco de Dados
Select em uma Tabela Oracle
enviado por Cristina Ribeiro Bastos
Este é um exemplo de como executar um comando SELECT EM uma tabela Oracle utilizando Java.
import java.sql.*;
import java.util.Vector;
import oracle.jdbc.driver.*;
public class oracle {
private String url = "jdbc:oracle:thin:@192.168.1.207:1521:portaljava";
private String user = "portaljava";
private String pass = "pj123";
/*
Método que retorna um objeto Connection
para a utilização somente dentro desta classe.
*/
private Connection getMyConnection() {
Connection conn = null;
try {
DriverManager.registerDriver(new OracleDriver());
conn = DriverManager.getConnection(url, user, pass);
} catch (Exception e) {
System.out.println("Erro ao tentar se conectar ao banco");
}
return conn;
}
/*
Este método retorna um Array contendo os nomes dos usuários
do portal.
*/
public Vector selectTable()
throws SQLException, Exception{
Connection conn = getMyConnection();
Vector vtUsrs = new Vector();
//Testa para ver se a conexão está nula.
if (conn == null)
throw new Exception("Conexão está nula");
Statement stmt = null;
try {
stmt = conn.createStatement();
ResultSet rs =
stmt.executeQuery(
"SELECT * FROM USUÁRIOS WHERE NOME = 'DALTON'");
while (rs.next()) {
/*
O objeto resultset, permite retornar valores primitivos conforme os
mesmos encontram-se no banco.
Aqui usaremos números para recuperar os campos conforme
a ordem que eles se encontram na tabela do banco, por exemplo:
A tabela do banco está assim
ID | Nome | Job
Se usarmos getString(2), estaremos recuperando a coluna nome.
O mesmo aconteceria se utilizássemos getString("Nome")
*/
int empno = rs.getInt(1); //Retornando um valor inteiro
String nome = rs.getString(2); // Retornando uma String
String job = rs.getString(3); // Retornando uma String
int mgr = rs.getInt(4); //Retornando um valor inteiro
Date data = rs.getDate(5); //Retornando um campo Date
long sal = rs.getLong(6); //Retornando um valor long
long comm = rs.getLong(7); //Retornando um valor long
int dept = rs.getInt(8); //Retornando um valor inteiro
//Imprimindo no console os dados obtidos
System.out.print(empno + " ");
System.out.print(nome + " ");
System.out.print(job + " ");
System.out.print(mgr + " ");
System.out.print(data + " ");
System.out.print(sal + " ");
System.out.print(comm + " ");
System.out.println(dept);
//Utilizando o método add para incluir a String nome no vector
vtUsrs.add(nome);
}
} catch (SQLException e) {
//Aconteceram erros na execução do sql
System.out.println("Erro = " + e.getMessage());
} finally {
try {
/* Geralmente usamos o o finally para fechar statements e connections.
O finally sempre será chamado, mesmo que um return venha ser invocado
antes do escopo.
ps: É altamente recomendado que em todas as requisição que forem utilizado
os objetos Statement e Connection, sejam fechados através do finally.
*/
if(statement != null) statement.close();
if(connection != null) connection.close();
} catch (SQLException e) {
throw new Exception(e.toString());
}
}
//Retornando o Vector
return vtUsrs;
}
}
Versão impressa gerada em:
quarta-feira, 25 de novembro de 2009
© Copyright 2006 - R&W Consulting.