eu estou querendo construir um método de busca para me subtrair o valor que irei digitar no programa "UPDATE produto SET produto.quantidade = produto.quantidade -1 WHERE produto.id =4";
.
Este a cima fuciona no mysql, quando joga no programa ele nao fuciona.
mais a ultima que e a valida
Dá erro? Qual?
parameter index out of range. (0>1)
Este e o erro
Posta o código que já fez, vai ficar mais fácil identificar o que foi feito e onde o erro pode ocorrer.
Aliás, sempre que apresenta exceção, o java indica qual linha está estourando, se puder nos informar qual é esta linha e seu conteúdo, fica mais simples resolver.
@Cadmo_Antunes, conserte o seu título e não crie perguntas duplicadas.
No seu post, tem a opção de editar. Você pode alterar e deixar de forma que você ache “Válida”.
À todos que forem ver esse post entendam, o título “Help!” não ajuda nada, a pessoa que entra pra ver a dúvida não faz nem ideia do que a pessoa quer.
Para quem ainda tem dúvida de como criar um post, veja:
Este aqui e o meu metodo de retorno para o db.
private void saida() {
String sql = “UPDATE produto SET produto.quantidade = produto.quantidade - “+” WHERE produto.id =”;
try {
pst = conexao.prepareStatement(sql);
pst.setString(0, txtId.getText());
pst.setString(1, txtQtdSaida.getText());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Era o que eu imaginava e é a coisa mais simples que existe, quando falamos de problemas em jdbc.
Por alguma razão macabra, alguém decidiu que, diferente de tudo no java, o primeiro índice a ser setado num preparedStatement não deveria ser 0, mas, 1.
Logo, você sempre começa em 1 e vai seguindo…
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtId.getText());
pst.setString(2, txtQtdSaida.getText());
Este já solucionei . Eu só quero uma formula para eu fazer a baixa deste estoque automaticamente. Pois e o tenho que fazer a consulta no db, e depois no código fonte fazer um retorno que me traga um calculo de que subtraia. Tipo se tem 7 itens e eu vendi um logo que executar a ação de venda o estoque só tera 6.
Bom, eu entendo que esse seja um sistema para estudo, logo, podemos simplificar.
De algum modo, você informa o produto, correto (código do produto, código de barras, etc).
A partir disso, você consegue obter a quantidade em estoque.
Como está vendendo, você pode informar a quantidade de itens vendidos. Sendo assim, ao informar esta quantidade, já pode pegar o que tem no estoque, validar se a quantidade vendida não excede esse total e subtrair do estoque.