Estou com muita dificuldade para fazer algo basico. Pegar do banco de dados uma simples consulta
quero consultar minha tabela produto. na coluna nm_produto, ou seja, procurar produto pelo nome
nesta primeira parte é a tela, simplismente pega o nome digitado na tela e depois retorna seu valor.
private void jButtonBuscarActionPerformed(java.awt.event.ActionEvent evt) {
try {
Produto pro = new Produto();
ProdutoService ps = new ProdutoService();
String a = jTextFieldNome.getText(); // pega o nome digitado na textfield e coloca na variavel.
pro = ps.buscaProdutoNome(a); // envia a variavel como parametro e retorna o produto
jTextFieldValor.setText(pro.getPrecovenda() + ""); // pega o produto retornado e seta o nome dele numa textfield
System.out.println("mostrando conteudo textfield nome" + jTextFieldNome.getText());
nesta segunda parte vou mostrar como ele faz a consulta
public Produto buscaProdutoNome(String nome) throws Exception {
Connection con = SQLUtil.getConnection();
PreparedStatement ps = con.prepareStatement(SQLConstants.PRODUTO_SELECT_NOME);
ps.setString(1, nome);
ResultSet rs = ps.executeQuery();
rs.next();
Produto p1 = new Produto();
p1.setCd_produto(rs.getInt(2));
p1.setNome(nome);
p1.setPrecovenda(rs.getDouble(3));
rs.close();
ps.close();
return p1;
e por ultimo a minha SQLConstant
static final String PRODUTO_SELECT_NOME =
"SELECT * FROM Produto WHERE nm_produto = \"?\"";
Isto funciona, mas somente quando o nome do produto é um numero, ou seja, um inteiro. se o nome dele for um literal ele nao funciona.
Agradeço sugestoes