Montei aqui a tabela, rodei seu método, debuguei as variáveis e o retorno está vindo... acredito que novamente o erro esta na hora de montar ae sua view:
Veja o codigo que usei, está fora dos padrões pois montei so para testar, se estava indo no banco certinho, e o seu metodo so alterei a entrada fixa, e a forma
de obter a conexão para meu banco:
package meupacote;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static Connection getConnection() throws SQLException {
try {
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(
"jdbc:mysql://localhost:3306/livraria", "root", "root");
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}
}
package dao;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class Util {
static int cont = 1;
public static void inserirEstados(Connection con) throws MyClassException {
try {
String createString = "insert into estado ( cod_estado , ESTNOME ) "
+ "VALUES (" + ++cont +",'Maranhão') ";
con.createStatement().execute(createString);
} catch (SQLException e) {
Util u = new Util();
Util.MyClassException mc = u.new MyClassException(
"problema ao inserir dados, causa: " + e.getCause());
throw mc;
}
}
class MyClassException extends Exception {
private static final long serialVersionUID = 1L;
private String mensagem = " ";
private String classe = " ";
private String pacote = " ";
private String metodo = " ";
public MyClassException() {
super();
}
public MyClassException(String p_str) {
super(p_str);
}
public MyClassException(Throwable arg0) {
super(arg0);
}
public MyClassException(String arg0, Throwable arg1) {
super(arg0, arg1);
}
public void setClasse(String pclasse) {
this.classe = pclasse;
}
public String getClasse() {
return (this.classe);
}
public void setMensagem(String pmensagem) {
this.mensagem = pmensagem;
}
public String getMensagem() {
return (this.mensagem);
}
public void setPacote(String ppacote) {
this.pacote = ppacote;
}
public String getPacote() {
return (this.pacote);
}
public void setMetodo(String pmetodo) {
this.metodo = pmetodo;
}
public String getMetodo() {
return (this.metodo);
}
}
static public void executaCriacao(String createString, Connection con)
throws SQLException, MyClassException {
Statement stmt;
stmt = con.createStatement();
stmt.execute(createString);
stmt.close();
}
public static String criaEstado(Connection con) throws MyClassException {
String createString = "CREATE TABLE IF NOT EXISTS estado "
+ "(cod_estado int, " + " ESTNOME VARCHAR(32) ,"
+ " primary key (cod_estado)" + " )";
try {
executaCriacao(createString, con);
return null;
} catch (SQLException e) {
Util u = new Util();
Util.MyClassException mc = u.new MyClassException(
"problema ao criar a tabela causa: " + e.getCause());
throw mc;
}
}
}
package meupacote;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;
import dao.Util;
class Exemplo1 {
static public void pesquisa(){
//String nome = campoPesquisa.getText();
String nome = "Maran";
//JOptionPane.showMessageDialog(null,"" + campoPesquisa.getText());
JOptionPane.showMessageDialog(null,"" + nome);
String consulta = "SELECT * FROM ESTADO WHERE ESTNOME LIKE '%"+nome+"%'";
campoPesquisa(consulta);
}
public static void campoPesquisa(String sql) {
try {
//dtm.setNumRows(0);
// PreparedStatement ps = BancoDados.getConexao().prepareStatement(sql);
PreparedStatement ps = ConnectionFactory.getConnection().prepareStatement(sql);
ResultSet rs = ps.executeQuery();
int colunas = rs.getMetaData().getColumnCount();
Vector dados;
// rs.first();
while(rs.next()){
dados = new Vector();
for (int i = 1; i <= colunas; i++) {
System.out.println(rs.getObject(i));
dados.add(rs.getObject(i));
}
// dtm.addRow(dados);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,"Não foi possível pesquisar");
e.printStackTrace();
}
}
public static void main(String args[]) {
// A captura de exceções SQLException em Java é obrigatória para usarmos
// JDBC.
// Para termos acesso ao objeto con, ele deve ter um escopo mais amplo
// que o bloco try
Connection con = null;
try {
// Este é um dos meios para registrar um driver
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Registrado o driver, vamos estabelecer uma conexão
con = ConnectionFactory.getConnection();
Util.criaEstado(con);
Util.inserirEstados(con);
pesquisa();
} catch (Exception e) {
e.printStackTrace();
}
}
}
A saida esta abaixo como um print, acredito que você deve mover o tópico para interfaces gráficas, abraço.
