0
I have this method:
test method of the package view location class
public int teste(){
String selecao = cbFilmes.getSelectedItem().toString();
String[] campos_filmes = selecao.replace(" ","").split("-"); // suponho que esteja separado por -
System.out.println(campos_filmes[0]); // deve pegar o código
int codigo = Integer.parseInt(campos_filmes[0]);
java.sql.Connection conn = null;
java.sql.PreparedStatement pstm = null;
ResultSet rs = null;
boolean testee;
try{
conn = ConnectDB.conexaoDB();
pstm = conn.prepareStatement("Select * From locacoes Where codigo_filme = '"+codigo+"'");
rs = pstm.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "Filme Já Locado!");
tabbedPane.setSelectedIndex(0);
}else{
pstm.close();
}
ConnectDB.fecharConexao(conn);
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro: "+ e);
}
return codigo;
}
It does a validation to see if the movie is already leased, the following method is what sends the data to the location class of the control package
protected void salvar(){
String selecao_filmes = cbFilmes.getSelectedItem().toString();
String[] campos_filmes = selecao_filmes.replace(" ","").split("-"); // suponho que esteja separado por -
System.out.println(campos_filmes[0]); // deve pegar o código
int codigo_filme = teste();//Integer.parseInt(campos_filmes[0]);
//System.out.println(selecao);
String selecao_funcionario = cbFuncionario.getSelectedItem().toString();
String[] campos_funcionarios = selecao_funcionario.replace(" ", "").split("-");
System.out.println(campos_funcionarios[0]);
int codigo_funcionario = Integer.parseInt(campos_funcionarios[0]);
String selecao_cliente = cbClientes.getSelectedItem().toString();
String [] campos_clientes = selecao_cliente.replace(" ", "").split("-");
System.out.println(campos_clientes[0]);
int codigo_cliente = Integer.parseInt(campos_clientes[0]);
String data_locacao = dt_locacao.getText();
String data_devolucao = dt_devolucao.getText();
if(data_devolucao.equals("")){
JOptionPane.showMessageDialog(null, "O campo Data de devolução é Obrigatório!");
}
Locacao locacao = new Locacao();
locacao.setCodigo_cliente(codigo_cliente);
locacao.setCodigo_funcionario(codigo_funcionario);
locacao.setCodigo_filme(codigo_filme);
locacao.setDt_locacao(data_locacao);
locacao.setDt_devolucao(data_devolucao);
control.Locacao manutencao = new control.Locacao();
if(codigo_editar==0){
manutencao.inserir(locacao);
}else{
manutencao.alterar(locacao);
}
tabbedPane.setSelectedIndex(1);
}
This is the method that saves in the bank:
public void inserir(dao.Locacao locacao) {
if(locacao != null){
java.sql.Connection conn = null;
try {
conn = ConnectDB.conexaoDB();
java.sql.PreparedStatement pstm;
pstm = conn.prepareStatement(INSERT);
pstm.setObject(1, locacao.getCodigo_filme());
pstm.setObject(2, locacao.getCodigo_funcionario());
pstm.setObject(3, locacao.getCodigo_cliente());
pstm.setString(4, locacao.getDt_locacao());
pstm.setString(5, locacao.getDt_devolucao());
// Envia para o banco de dados
Boolean teste;
teste = pstm.execute();
// Validar inserção no banco de dados
if (!teste) {
JOptionPane.showMessageDialog(null, "Locação cadastrada com sucesso!");
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a Locação!");
}
// Fecha a conexão com o banco de dados
ConnectDB.fecharConexao(conn);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar a locacao!"+e.getMessage());
}
}}
My question is the following, as I would to use the test method, making it, if the movie is leased, when clicking the save button, I prevent the user from saving, through the test method, if I was not very clear, ask me for more information, but please help me!.
This is the save button:
JButton btnSalvar = new JButton("Salvar");
btnSalvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
salvar();
}
});