Bem galera, tipo, eu jah tenho um banco de dados criados, um JFrame para cadastro de cliente, outro para listar o cliente jah cadastro etc, mais tipo, como faço tipo, tem um campo de texto lá, escrevo o primeiro nome, e clico no botão pesquisar, pra ele apenas listar os nomes de acordo com a minha pesquisa???
Obrigado pela atenção!!!
Crie uma listagem de resultados pra isso, um método que te retorne um List< T >. A magica está no sql que você vai colocar:
public List<String> getListaBusca(String valor){
PreparedStatement stmt = this.con.prepareStatement("select * from suaTabela where seuCampo like '%" + valor + "%'");
//% significa qualquer coisa. se colocar antes do valor, é qualquer coisa antes + valor, se colocar depois, qualquer valor depois do valor
.
.
.
}
exemplo prático do mysql:
CREATE TABLE contato (
nome VARCHAR(100)
);
vamos inserir valores
insert into contato(nome) values
('And9re'),
('And8re8'),
('7Andre'),
('Andre6'),
('A55ndre'),
('An33dre'),
('Andre111'),
('Andre222')
agora vamos buscar algum valor:
select * from contato where nome like '%8%'
deu pra pegar?
ah, detalhe. essa é a única forma que eu conheço, mas também sou novo com bds :roll:
[quote=andre.froes]Crie uma listagem de resultados pra isso, um método que te retorne um List< T >. A magica está no sql que você vai colocar:
public List<String> getListaBusca(String valor){
PreparedStatement stmt = this.con.prepareStatement("select * from suaTabela where seuCampo like '%" + valor + "%'");
//% significa qualquer coisa. se colocar antes do valor, é qualquer coisa antes + valor, se colocar depois, qualquer valor depois do valor
.
.
.
}
exemplo prático do mysql:
CREATE TABLE contato (
nome VARCHAR(100)
);
vamos inserir valores
insert into contato(nome) values
('And9re'),
('And8re8'),
('7Andre'),
('Andre6'),
('A55ndre'),
('An33dre'),
('Andre111'),
('Andre222')
agora vamos buscar algum valor:
select * from contato where nome like '%8%'
deu pra pegar?
ah, detalhe. essa é a única forma que eu conheço, mas também sou novo com bds :roll:
[/quote]
bem, do seu primeiro exemplo, esse método eu aplico no botão pesquisar correto???
isso, quando você clicar no botão pesquisar, o seu método vai receber e retornar o list com os valores que tu ta procurando
bem, eu apliquei esse método dentro do ActionEvent do botão, tá certo o método???
por que aqui não tá funfando!!!
tu tem que ver o que tu quer que retorne. Por exemplo, aquele metodo de retorna um List de elementos que tu quer. É isso mesmo que você tá querendo ou você quer que ele traga um único valor?
posta o seu método também e me diz qual erro ta aparecendo.
[quote=andre.froes]tu tem que ver o que tu quer que retorne. Por exemplo, aquele metodo de retorna um List de elementos que tu quer. É isso mesmo que você tá querendo ou você quer que ele traga um único valor?
posta o seu método também e me diz qual erro ta aparecendo.[/quote]
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
List<String> getListaBusca(String valor){
PreparedStatement stmt = this.con.prepareStatement("select * from jTable1 where jTextField1 like '%" + valor + "%'");
}
ele acusa erro na linha do List!!!
eu quero ele faça o seguinte, tipo, digitei lah “alex” no campo, e ao clicar no botão pesquisar, ele retorna com uma lista de possiveis nome com alex!!!
entendeu???
Entendi o seu erro, e você está cometendo um equívoco, você terá que criar um método que vai ser chamado no action performed.
public List<String> getBusca(String valor){
PreparedStatement stmt = this.con.prepareStatement("select nome from contato where nome like '%" + valor + "%'");
ResultSet rs = stmt.executeQuery();
List<String> listaBusca = new ArrayList<String>();
while (rs.next()){
listaBusca.add(rs.getString("nome"));
}
rs.close();
stmt.close();
return listaBusca;
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
List<String> d = getBusca("Teste");
for(String dado : d){
System.out.println(dado);
}
}
o método getbusca vai acusar erros porque não fiz os try/catch, to na munheca no computador da namorada aqui, apenas completa os exceptions.
Deu pra entender porque deu o erro?
o método vai te retornar a lista, e lá você vai tratar
[quote=andre.froes]Entendi o seu erro, e você está cometendo um equívoco, você terá que criar um método que vai ser chamado no action performed.
public List<String> getBusca(String valor){
PreparedStatement stmt = this.con.prepareStatement("select nome from contato where nome like '%" + valor + "%'");
ResultSet rs = stmt.executeQuery();
List<String> listaBusca = new ArrayList<String>();
while (rs.next()){
listaBusca.add(rs.getString("nome"));
}
rs.close();
stmt.close();
return listaBusca;
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
List<String> d = getBusca("Teste");
for(String dado : d){
System.out.println(dado);
}
}
o método getbusca vai acusar erros porque não fiz os try/catch, to na munheca no computador da namorada aqui, apenas completa os exceptions.
Deu pra entender porque deu o erro?
o método vai te retornar a lista, e lá você vai tratar[/quote]
não consegui entender direito!!! =/