Como enviar uma consulta do Banco de dados para a minha interface gráfica?

7 respostas
A

Boa tarde Srs…fiz um formulário para efetuar alterações em meus registros do banco de dados, consigo inserir normalmente mas para alterar, remover um registro antes preciso fazer uma consulta, a consulta em si eu consigo efetuar mas eu não consigo enviar essa consulta para a minha interface gráfica ( formulário ), como posso fazer isso?

Obrigado à todos!

7 Respostas

sr.saude

Isso vai depender da forma como você está fazendo sua consulta e do que você está usando para a sua interface gráfica.

Você está usando Hibernate, JDBC puro ou outra coisa?

A

Estou usando JDBC puro a minha aplicação é desktop e quero fazer uma consulta no banco de dados e enviar o retorno para os respectiovos JTextField´s em meu formulario.

Obrigado pela atenção…

A

Eu consigo enviar os dados dos meus campos JTextField para o banco de dados, mas não consigo envia-los para o meu formulario após efetuar uma consulta.

sr.saude

O JDBC devolve um ResultSet quando você faz uma consulta, certo?

Então é só percorrer esse ResultSet dentro de um while, assim:

while (rs.next()) {

//pega os parametros usando rs.getString(número do campo) e coloca no formulário com setText, por exemplo

}
A

Srs. para ficar mais clara a situação, este é meu método dao para consulta:

public void consultar(Clientes clientes) {

try {

PreparedStatement stm = this.connection

.prepareStatement(select * from clientes);

ResultSet rs = stm.executeQuery();

while (rs.next()) {
Long i = rs.getLong("id");
			String n = rs.getString("nome");
			String end = rs.getString("endereco");
			String cp = rs.getString("cep");
			String cid = rs.getString("cidade");
			String bair = rs.getString("bairro");
			Long cf = rs.getLong("cpf");
			Long rg = rs.getLong("rg");
			String tele = rs.getString("tel");
			String obs = rs.getString("obs");

		}
	} catch (SQLException e) {
		e.printStackTrace();
	}

}

}

E este este código está no arquivo que se encontra a minha interface gráfica e meu Listener:

} else if (e.getSource() == cons) {

try {

Clientes clientes = new Clientes();

clientes.setId(clientes.getId());

clientes.setNome(clientes.getNome());

clientes.setEndereco(clientes.getEndereco());

clientes.setCep(clientes.getCep());

clientes.setCidade(clientes.getCidade());

clientes.setBairro(clientes.getBairro());

clientes.setCpf(clientes.getCpf());

clientes.setRg(clientes.getRg());

clientes.setTel(clientes.getTel());

clientes.setObs(clientes.getObs());
ClienteDao dao3 = new ClienteDao();
			dao3.consultar(clientes);
		} catch (SQLException f) {
			f.printStackTrace();
		}
	}
}

Só não consigo enviar o resultado para o meu formulário…

Obrigado à todos.

sr.saude

Sugestão:

Faça com que o método consulta devolva uma lista de clientes. Você já está pegando os dados de cada cliente. Então, em vez de guardar em variáveis locais, crie um novo cliente, adicione-o a uma lista, use os setters do cliente para preencher seus atributos e, no fim do método consulta, devolva uma lista com os clientes preenchidos. Assim:

public List consulta(Clientes clientes) {

List lista = new ArrayList();

try {

PreparedStatement stm = this.connection

.prepareStatement(select * from clientes);

ResultSet rs = stm.executeQuery();

while (rs.next()) {

Clientes c = new Clientes();

lista.add©;

c.setId(rs.getLong(id));

c.setNome(rs.getString(nome));

c.setEndereco(rs.getString(endereco));

c.setCep(rs.getString(cep));

c.setCidade(rs.getString(cidade));

c.setBairro(rs.getString(bairro));

c.setCpf(rs.getLong(cpf));

c.setRg(rs.getLong(rg));

c.setTelefone(rs.getString(tel));

c.setObs(rs.getString(obs));
}

} catch (SQLException e) {

e.printStackTrace();

}

return lista;

}

Daí você consegue aproveitar os dados da consulta no seu Listener.

A

Obrigado cara, vou tentar.

Até mais.

Criado 5 de agosto de 2008
Ultima resposta 5 de ago. de 2008
Respostas 7
Participantes 2