Pessoal seguinte não estou conseguindo efetuar inserts nessa tabela não sei pq, nos outros inserts funciona numa boa, mas nesse não . Segue abaixo o codigo:
public void efetuar_pagamento(String descricao, double v_pagamento) throws SQLException{
open_database();
Pega_data data = new Pega_data();
String date = data.retorna_data();
double saldo_conta=verifica_saldo(CC,AG,Senha);
try{
stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO pagamentos (cc_pagamentos,data_pagamento,descricao_pagamento,valor_pagamento)
VALUES (’"+CC+"’,’"+date+"’,’"+descricao+"’,’"+v_pagamento+"’)");
JOptionPane.showMessageDialog(null,"Pagamento efetuado com sucesso");
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,"Erro ao inserir na table pagamentos");
}
close_database();
stmt.close();
}
Sempre da a mensagem que não foi possivel inserir na tabela pagamentos, qq estou fazendo de errado, ja conferi os campos da tabela e tudo segue abaixo a tabela em mysql
create table pagamentos(
cc_pagamentos char(6),
data_pagamento varchar(10),
descricao_pagamento varchar(40),
valor_pagamento double,
PRIMARY KEY (cc_pagamentos)
);
Lembrando que CC,AG,Senha estão declarado como static no inicio da classe;
Posta a mensagem da exception pra gente ver.
A mensagem é : com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed
por acaso o teu método verifica_saldo() não está fechando a conexão não ???
a mensagem está dizendo que a connection está fechada. de onde vem esta variável conn ?
Pessoal segue abaixo os codigos:
public void open_database() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sib","root","123");
}
catch (ClassNotFoundException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Não foi possivel encontrar o driver de banco: " + e.getMessage());
}
catch (SQLException e) {
JOptionPane.showMessageDialog(null,"Erro ao conectar com o banco: " + e.getMessage());
}
}
public void close_database() {
try {
if (stmt != null){
stmt.close();
conn.close();
//JOptionPane.showMessageDialog(null,"Desconectado!");
}
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro ao se desconectar com o banco: " + e.getMessage());
}
}
public double verifica_saldo(String cc, String ag, String senha) throws SQLException{
open_database();
double saldo=0;
try{
stmt = conn.createStatement();
String sql_script ="SELECT saldo_cliente FROM clientes WHERE cc_cliente= '"+cc+"' AND agencia_cliente= '"+ag+"' AND senha_cliente='"+senha+"' ";
rs = stmt.executeQuery(sql_script);
while ( rs.next()){
saldo= rs.getDouble("saldo_cliente");
}
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, "Erro");
}
close_database();
return saldo;
}
Não sei pq está dando esse erro, pois quando faço da mesma maneira para cadastrar um usuário funciona perfeitamente
Pessoal já achei meu erro, obrigado a todos