package br.com.aec.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import br.com.aec.Conta;
import br.com.aec.bd.ConexaoBD;
public class ContaDAO {
public void depositar(Conta conta) {
// Abre conexão com o Banco
try (Connection con = ConexaoBD.getConnection()) {
// Comando SQL para executar
String cliente= JOptionPane.showInputDialog("Informe o nome do cliente: ");
String valor= JOptionPane.showInputDialog("Informe o valor do depósito: ");
String limite= JOptionPane.showInputDialog("Informe o seu limite: ");
String sql = "INSERT INTO conta ( cliente , saldo ,limite ) VALUES ("+cliente+","+valor+","+limite+")";
// Faz a relação entre as posições do comando SQL e os valores do
// Java
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, conta.getCliente());
ps.setDouble(2, conta.getSaldo());
ps.setDouble(3, conta.getLimite());
// Executa comando
ps.execute();
JOptionPane.showMessageDialog(null, "Depósito Efetuado com sucesso " +conta.toString());
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Depósito Não Efetuado ");
System.out.println(e.getMessage());
}
}
} o erro é esse:Parameter index out of range (2 > number of parameters, which is 1).