Boa tarde galera,
bom, sou novo no java, e por isso estou com uma dúvida e não consigo resolvê-lo.
A seguir o código da minha classe DAO.
package DB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import Classes.Empresa;
public class EmpresaDAO {
private Connection con;
public EmpresaDAO(){
try {
con = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/WebEstoque", "postgres",
"122222");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void adicionar(Empresa empresa){
String sql = "insert into empresa (nom_empresa,nom_responsavel,cnpj,rg_responsavel,endereco,cep,complemento," +
"bairro,cidade,sigla_uf,ddd_empresa,telefone_empresa,email_empresa,pagina_web_empresa," +
"nom_fornecedor,ddd_fornecedor,celular_fornecedor) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
try {
// prepared statement para inserção
PreparedStatement stmt = con.prepareStatement(sql);
// seta os valores
stmt.setString(1,empresa.getNomeEmpresa());
stmt.setString(2,empresa.getNomeResponsavel());
stmt.setLong(3,empresa.getCnpj());
stmt.setInt(4,empresa.getRgResponsavel());
stmt.setString(5,empresa.getEnderecoEmpresa());
stmt.setInt(6,empresa.getCepEmpresa());
stmt.setString(7,empresa.getComplementoEmpresa());
stmt.setString(8,empresa.getBairroEmpresa());
stmt.setString(9,empresa.getCidadeEmpresa());
stmt.setString(10,empresa.getUfEmpresa());
stmt.setInt(11,empresa.getDddEmpresa());
stmt.setInt(12, empresa.getTelefoneEmpresa());
stmt.setString(13,empresa.getEmailEmpresa());
stmt.setString(14,empresa.getPaginaWeb());
stmt.setString(15,empresa.getNomeFornecedor());
stmt.setInt(16,empresa.getDddFornecedor());
stmt.setInt(17,empresa.getCelularFornecedor());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void alterar(Empresa empresa){
String sql = "update empresa set nom_empresa=?,nom_responsavel=?,cnpj=?,rg_responsavel=?,endereco=?,cep=?,complemento=?," +
"bairro=?,cidade=?,sigla_uf=?,ddd_empresa=?,telefone_empresa=?,email_empresa=?,pagina_web_empresa=?," +
"nom_fornecedor=?,ddd_fornecedor=?,celular_fornecedor=? where num_empresa = ?";
try{
// prepared statement para inserção
PreparedStatement stmt = con.prepareStatement(sql);
// seta os valores
stmt.setString(1,empresa.getNomeEmpresa());
stmt.setString(2,empresa.getNomeResponsavel());
stmt.setLong(3,empresa.getCnpj());
stmt.setInt(4,empresa.getRgResponsavel());
stmt.setString(5,empresa.getEnderecoEmpresa());
stmt.setInt(6,empresa.getCepEmpresa());
stmt.setString(7,empresa.getComplementoEmpresa());
stmt.setString(8,empresa.getBairroEmpresa());
stmt.setString(9,empresa.getCidadeEmpresa());
stmt.setString(10,empresa.getUfEmpresa());
stmt.setInt(11,empresa.getDddEmpresa());
stmt.setInt(12, empresa.getTelefoneEmpresa());
stmt.setString(13,empresa.getEmailEmpresa());
stmt.setString(14,empresa.getPaginaWeb());
stmt.setString(15,empresa.getNomeFornecedor());
stmt.setInt(16,empresa.getDddFornecedor());
stmt.setInt(17,empresa.getCelularFornecedor());
stmt.setInt(18,empresa.getNumEmpresa());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void excluir(Empresa empresa){
String sql = "delete from empresa where num_empresa = ?";
try{
// prepared statement para inserção
PreparedStatement stmt = con.prepareStatement(sql);
// seta os valores
stmt.setInt(1, empresa.getNumEmpresa());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public List<Empresa> pesquisar(){
Empresa empresa = new Empresa();
String sql = "select * from empresa where num_empresa = ?";
try {
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setInt(1, empresa.getNumEmpresa());
ResultSet rs = stmt.executeQuery();
while(rs.next()){
empresa.setNomeEmpresa(rs.getString("nom_empresa"));
empresa.setNomeResponsavel(rs.getString("nom_responsavel"));
empresa.setCnpj(rs.getLong("cnpj"));
empresa.setRgResponsavel(rs.getInt("rg_responsavel"));
empresa.setEnderecoEmpresa(rs.getString("endereco"));
empresa.setCepEmpresa(rs.getInt("cep"));
empresa.setComplementoEmpresa(rs.getString("complemento"));
empresa.setBairroEmpresa(rs.getString("bairro"));
empresa.setCidadeEmpresa(rs.getString("cidade"));
empresa.setDddEmpresa(rs.getInt("ddd_empresa"));
empresa.setTelefoneEmpresa(rs.getInt("telefone_empresa"));
empresa.setUfEmpresa(rs.getString("sigla_uf"));
empresa.setEmailEmpresa(rs.getString("email_empresa"));
empresa.setPaginaWeb(rs.getString("pagina_web_empresa"));
empresa.setNomeFornecedor(rs.getString("nom_fornecedor"));
empresa.setDddFornecedor(rs.getInt("ddd_fornecedor"));
empresa.setCelularFornecedor(rs.getInt("celular_fornecedor"));
}
List<Empresa> listaContato = new ArrayList<Empresa>();
listaContato.add(empresa);
rs.close();
stmt.close();
return listaContato;
} catch (SQLException e) {
throw new RuntimeException(e);
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Na linha 169, eu passo o comando SQL pedindo apenas a linha que eu quero, e na 173 é onde eu especifico essa linha.
Entretanto, quando eu faço essa pesquisa, são retornados valores nulos.
Alguém saberia me apontar o erro?
Valeu! =]