Ola a todos =D
eu consegui com sucesso efetuar consulta a um banco de dados mysql chamando uma funcao dessa forma
vendedores = dao.getLista("%" + jTFCVPesquisa.getText() + "%");
funcao chamada
public List<Vendedor> getLista(String nome) throws SQLException {
String sql = "select * from vendedor where ? like ?";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery();
List<Vendedor> minhaLista = new ArrayList<Vendedor>();
while (rs.next()) {
Vendedor v1 = new Vendedor();
v1.setId(Long.valueOf(rs.getString("Id")));
v1.setRg(rs.getString("rg"));
v1.setCpf(rs.getString("cpf"));
v1.setNome(rs.getString("nome"));
v1.setEndereco(rs.getString("endereco"));
v1.setTelefone(rs.getString("telefone"));
v1.setData_admissao(rs.getString("data_admissao"));
v1.setData_demissao(rs.getString("data_demissao"));
minhaLista.add(v1);
}
rs.close();
stmt.close();
return minhaLista;
agora o que eu queria fazer eh utilizar um jTextField (ou um combobox) para que seja selecionado em qual coluna da minha tabela deve ser usada para pesquisa (pesquisar por nome, ou rg ou cpf ou msm id)
eu chamaria a funcao da seguinte forma
vendedores = dao.getLista("%" + jTFCVPesquisa.getText() + "%", jTColuna.getText());
e faria a seguinte mudanca na funcao chamada
public List<Vendedor> getLista(String nome, String coluna) throws SQLException {
String sql = "select * from vendedor where ? like ?";
PreparedStatement stmt = this.conexao.prepareStatement(sql);
stmt.setString(1, coluna);
stmt.setString(2, nome);
ResultSet rs = stmt.executeQuery();
//e o resto continua igual
porem da o erro
Exception in thread “AWT-EventQueue-0” java.lang.IndexOutOfBoundsException: Index: 17, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at otica.forms.jTPrincipal.jTVendedorLinhaSelecionada(jTPrincipal.java:924)
at otica.forms.jTPrincipal.access$700(jTPrincipal.java:36)
at otica.forms.jTPrincipal$7.valueChanged(jTPrincipal.java:492)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
at javax.swing.DefaultListSelectionModel.removeIndexInterval(DefaultListSelectionModel.java:660)
at javax.swing.JTable.tableRowsDeleted(JTable.java:4497)
at javax.swing.JTable.tableChanged(JTable.java:4400)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableRowsDeleted(AbstractTableModel.java:245)
at javax.swing.table.DefaultTableModel.removeRow(DefaultTableModel.java:447)
at otica.forms.jTPrincipal.mostraPesquisav(jTPrincipal.java:942)
at otica.forms.jTPrincipal.listarVendedores(jTPrincipal.java:58)
at otica.forms.jTPrincipal.jBCVPesquisarActionPerformed(jTPrincipal.java:780)
at otica.forms.jTPrincipal.access$500(jTPrincipal.java:36)
at otica.forms.jTPrincipal$6.actionPerformed(jTPrincipal.java:483)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 15 seconds)
alguma ideia?
grato desdeja