Ola Galera, estou com uma duvida!
Tenho uma classe q busca dados em um bd acess!
Mas ele só busca pelo nome completo!
Com faço pra mudar isso!
Queria q qd o usuario digitasse qualquer palavra saisse resultados!
Exemplo:
se eu digitar : adr
ele sairia todos com essas letras, adriano , adriana e etc…
A classe é essa:
package pctel;
import java.sql.*;
import java.util.*;
import conexao.Conexao;
public class cadastroDAO {
private String sql;
public List listarTodos(){
List resultado = null;
try {
sql = "select * from contatos";
Connection con = Conexao.getConexaoODBC();
Statement pstm = con.createStatement();
ResultSet rs = pstm.executeQuery(sql);
if(rs.next()){
resultado = new ArrayList();
do {
cadastroVO pesquisa = preencherpesquisa(rs);
resultado.add(pesquisa);
} while (rs.next());
}
rs.close();
pstm.close();
con.close();
return resultado;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
public List pesquisar(String nome,String fone1,String fone2,String fone3,String fone4,
String mail,String endereco,String obs){
List resultado = null;
String par = "";
try {
sql = "select * from contatos";
if(!nome.equals("")){
par = nome;
sql += " where nome like ?";
}else if(!fone1.equals("")){
par = fone1;
sql += " where fone1 like ?";
}else if(!fone2.equals("")){
par = fone2;
sql += " where fone2 like ?";
}else if(!fone3.equals("")){
par = fone3;
sql += " where fone3 like ?";
}else if(!fone4.equals("")){
par = fone4;
sql += " where fone4 like ?";
}else if(!mail.equals("")){
par = mail;
sql += " where email like ?";
}else if(!endereco.equals("")){
par = endereco;
sql += " where endereco like ?";
}else if(!obs.equals("")){
par = obs;
sql += " where observacao like ?";
}
//sql = "select * from contatos where nome like ?";
Connection con = Conexao.getConexaoODBC();
PreparedStatement pstm = con.prepareStatement(sql);
if(!par.equals("")){
pstm.setString(1, par);
}
ResultSet rs = pstm.executeQuery();
if(rs.next()){
resultado = new ArrayList();
do {
cadastroVO pesquisa = preencherpesquisa(rs);
resultado.add(pesquisa);
} while (rs.next());
}
rs.close();
pstm.close();
con.close();
return resultado;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
public boolean insereCadastro(String nome, String fone1, String fone2, String fone3, String fone4,
String mail, String endereco, String obs){
try {
sql = "insert into contatos(nome,fone1,fone2,fone3,fone4," +
"email,endereco,observacao) values('"+ nome +"','"+ fone1 +"','"+ fone2 +"','"+ fone3 +"','"+ fone4 +"','"+ mail +"','"+ endereco +"','"+ obs +"')";
Connection con = Conexao.getConexaoODBC();
Statement pstm = con.createStatement();
int rs = pstm.executeUpdate(sql);
if(rs != 0){
pstm.close();
con.close();
return true;
}else{
pstm.close();
con.close();
return false;
}
} catch (Exception ex) {
//ex.printStackTrace();
return false;
}
}
public boolean excluirCadastro(int id){
try {
sql = "delete from contatos where id = ?";
Connection con = Conexao.getConexaoODBC();
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setInt(1, id);
int rs = pstm.executeUpdate();
if(rs != 0){
pstm.close();
con.close();
return true;
}else{
pstm.close();
con.close();
return false;
}
} catch (Exception ex) {
return false;
}
}
public boolean atualizarCadastro(String nome, String fone1, String fone2, String fone3, String fone4,
String mail, String endereco, String obs, int id){
try {
sql = "update contatos set nome = ?, fone1 = ?, fone2 = ?, fone3 = ?, fone4 = ?, email = ?, endereco = ?, observacao = ? where id = ?";
Connection con = Conexao.getConexaoODBC();
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setString(1, nome);
pstm.setString(2, fone1);
pstm.setString(3, fone2);
pstm.setString(4, fone3);
pstm.setString(5, fone4);
pstm.setString(6, mail);
pstm.setString(7, endereco);
pstm.setString(8, obs);
pstm.setInt(9, id);
int rs = pstm.executeUpdate();
if(rs != 0){
pstm.close();
con.close();
return true;
}else{
pstm.close();
con.close();
return false;
}
} catch (Exception ex) {
return false;
}
}
private cadastroVO preencherpesquisa(ResultSet rs) throws SQLException {
cadastroVO pesquisa = new cadastroVO();
pesquisa.setId(rs.getInt("id"));
pesquisa.setNome(rs.getString("nome"));
pesquisa.setFone1(rs.getString("fone1"));
pesquisa.setFone2(rs.getString("fone2"));
pesquisa.setFone3(rs.getString("fone3"));
pesquisa.setFone4(rs.getString("fone4"));
pesquisa.setMail(rs.getString("email"));
pesquisa.setEndereco(rs.getString("endereco"));
pesquisa.setObs(rs.getString("observacao"));
return pesquisa;
}
}
Por Favor alguem me ajuda nesse Sql!
Desde já agradeço