Bom dia pessoal, eu tô com um probleminha no SQL Server e PreparedStatement.
É apenas uma classe de login e senha mas nunca retorna nada a menos que eu passe os parâmetros de login e senha diretamente na String SQL. Eu não sei o que tem de errado ai, acho que é algo na String SQL mas eu não consigo achar o que exatamente.
Enfim vou postar aqui minhas classes.
UsuarioDatapublic class UsuarioData extends Conexao{
/**
* Método responsável obter o Id de uma Pessoa pelo Login e Senha
* @param Login Login da Pessoa
* @param Senha Senha da Pessoa
* @return Dados do Usuário
*/
public UsuarioBean Obtem(String Login, String Senha){
PreparedStatement pstmt = null;
ResultSet rs = null;
String SQL = "SELECT Usuarios.IdPessoa IdPessoa, Usuarios.NomeUsuario NomeUsuario, Pessoas.Nome Nome " +
"FROM Pessoas INNER JOIN Usuarios ON Usuarios.IdPessoa = Pessoas.IdPessoa " +
"WHERE NomeUsuario LIKE ? AND Usuarios.Senha LIKE ?";
try{
pstmt = openConnection().prepareStatement(SQL);
pstmt.setString(1,Login);
pstmt.setString(2,Senha);
rs = pstmt.executeQuery();
if(rs.next()){
UsuarioBean bean = new UsuarioBean();
bean.setIdPessoa(rs.getInt("IdPessoa"));
bean.setNomeUsuario(rs.getString("NomeUsuario"));
bean.setNome(rs.getString("Nome"));
return bean;
}
}catch(Exception ex){
ex.getMessage();
}finally{
closeConnection();
}
return null;
}
}
public class UsuarioBean {
//<editor-fold desc="Atributos">
private int IdPessoa;
private String NomeUsuario;
private String Senha;
private String Nome;
//</editor-fold>
//<editor-fold desc="Metodos get/set">
/**
* @return the IdPessoa
*/
public int getIdPessoa() {
return IdPessoa;
}
/**
* @param IdPessoa the IdPessoa to set
*/
public void setIdPessoa(int IdPessoa) {
this.IdPessoa = IdPessoa;
}
/**
* @return the NomeUsuario
*/
public String getNomeUsuario() {
return NomeUsuario;
}
/**
* @param NomeUsuario the NomeUsuario to set
*/
public void setNomeUsuario(String NomeUsuario) {
this.NomeUsuario = NomeUsuario;
}
/**
* @return the Senha
*/
public String getSenha() {
return Senha;
}
/**
* @param Senha the Senha to set
*/
public void setSenha(String Senha) {
this.Senha = Senha;
}
/**
* @return the Nome
*/
public String getNome() {
return Nome;
}
/**
* @param Nome the Nome to set
*/
public void setNome(String Nome) {
this.Nome = Nome;
}
//</editor-fold>
}
public class Conexao {
// <editor-fold desc="Atributos">
private Connection conexao = null;
// </editor-fold>
// <editor-fold desc="Construtor">
public Conexao()
{
}
// </editor-fold>
// <editor-fold desc="Métodos Públicos">
/**
* Método responsável por abrir a conexão com o BD
* @return Conexão com o BD
*/
public Connection openConnection(){
try{
// define o driver JDBC do banco de dados:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:meubd";
conexao = DriverManager.getConnection(url);
}catch(Exception ex){
ex.getMessage();
}
return conexao;
}
/**
* Método responsável por fechar a conexão com o BD
*/
public void closeConnection(){
try{
conexao.close();
}catch(Exception ex){
ex.getMessage();
}
}
// </editor-fold>
}