acessoConta.java
Código:
package newBanco;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class acessoConta
{
public static void main(String[] args) throws SQLException
{
String aux = JOptionPane.showInputDialog("Opções:\n1)Criar Conta\n2)Sacar Saldo\n3)Depositar\n4)Verificar Saldo\n5)Excluir Conta\n6)Sair");
Integer op = Integer.parseInt(aux);
switch(op)
{
case 1:
new criaConta();
break;
case 2:
new sacarSaldo();
break;
case 3:
new depositarConta();
break;
case 4:
new exibeSaldo();
break;
case 5:
new delConta();
break;
case 6:
JOptionPane.showMessageDialog(null, "Obrigado por utilizar nossos serviços!");
break;
default:
JOptionPane.showMessageDialog(null, "Opção informada é inválida!");
System.exit(1);
break;
}
}
}
admConta.java
Código:
package newBanco;
public class admConta
{
private String nome;
private String senha;
private Double saldo;
private Integer agencia;
public admConta()
{
}
public admConta(String nome, String senha, Double saldo, Integer agencia)
{
this.nome = nome;
this.senha = senha;
this.saldo = saldo;
this.agencia = agencia;
}
public String getNome()
{
return nome;
}
public String getSenha()
{
return senha;
}
public Double getSaldo()
{
return saldo;
}
public Integer getAgencia()
{
return agencia;
}
public void setNome(String nome)
{
this.nome = nome;
}
public void setSenha(String senha)
{
this.senha = senha;
}
public void setSaldo(Double saldo)
{
this.saldo = saldo;
}
public void setAgencia(Integer agencia)
{
this.agencia = agencia;
}
}
conexao.java
Código:
package newBanco;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
public class conexao
{
public Connection getConnection() throws SQLException {
Connection con = null;
String url = "jdbc:postgresql://localhost:5432/programas";
String usuario = "postgres";
String senha = "major12";
con = DriverManager.getConnection(url, usuario, senha);
System.out.println("Conexão realizada com sucesso.");
return con;
}
public void closeConnnection(Connection con) {
try {
con.close();
System.out.println("Conexão encerrada com sucesso.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
criaConta.java
Código:
package newBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class criaConta
{
public criaConta() throws SQLException
{
conexao conn = new conexao();
String nome = JOptionPane.showInputDialog("Digite o nome do cliente:");
String senha = JOptionPane.showInputDialog("Digite uma senha para conta:");
String aux1 = JOptionPane.showInputDialog("Deposito inicial da conta:");
Double saldo = Double.parseDouble(aux1);
String aux2 = JOptionPane.showInputDialog("Agência local:");
Integer agencia = Integer.parseInt(aux2);
admConta cliente = new admConta();
cliente.setNome(nome);
cliente.setSenha(senha);
cliente.setSaldo(saldo);
cliente.setAgencia(agencia);
Connection vai = conn.getConnection();
String sql = ("INSERT INTO conta (agencia, nome, senha, saldo) VALUES (?,?,?,?)");
PreparedStatement pst = vai.prepareStatement(sql);
pst.setInt(1, cliente.getAgencia());
pst.setString(2, cliente.getNome());
pst.setString(3, cliente.getSenha());
pst.setDouble(4, cliente.getSaldo());
pst.execute();
JOptionPane.showMessageDialog(null, "Conta registrada! Volte sempre!");
conn.closeConnnection(vai);
}
}
delConta.java
Código:
package newBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class delConta
{
public delConta () throws SQLException
{
Integer op = JOptionPane.showConfirmDialog(null, "Realmente deseja excluir sua conta?");
if(op == 0)
{
conexao conn = new conexao();
String aux1 = JOptionPane.showInputDialog("Digite sua agência:");
Integer agencia = Integer.parseInt(aux1);
String senha = JOptionPane.showInputDialog("Digite sua senha:");
Connection vai = conn.getConnection();
// Definindo à query de select da conta com à senha correta
String sqlDados = ("SELECT * FROM conta WHERE agencia = ? AND senha = ?");
// Preparando o bagulho
PreparedStatement pstDados = vai.prepareStatement(sqlDados);
// Vamos definir os campos ?
pstDados.setInt(1, agencia);
pstDados.setString(2, senha);
// Executando à query retornando uma resposta
ResultSet rsDados = pstDados.executeQuery();
// Se tal condição sql for verdadeira
if(rsDados.next())
{
// Definindo à query de delete da conta logada
String sqlDel = ("DELETE FROM conta WHERE agencia = ?");
// Preparando o bagulho
PreparedStatement pstDel = vai.prepareStatement(sqlDel);
// Vamos definir os campos ? - agência à ser deletada
pstDel.setInt(1, rsDados.getInt("agencia"));
// Executando à query sem retornar nada
pstDel.execute();
JOptionPane.showMessageDialog(null, "Conta apagada! Volte sempre!");
conn.closeConnnection(vai);
}
else
{
JOptionPane.showMessageDialog(null,"Dados inválidos!");
conn.closeConnnection(vai);
System.exit(1);
}
}
else
{
JOptionPane.showMessageDialog(null, "Obrigado!");
System.exit(1);
}
}
}
depositarConta.java
Código:
package newBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class delConta
{
public delConta () throws SQLException
{
Integer op = JOptionPane.showConfirmDialog(null, "Realmente deseja excluir sua conta?");
if(op == 0)
{
conexao conn = new conexao();
String aux1 = JOptionPane.showInputDialog("Digite sua agência:");
Integer agencia = Integer.parseInt(aux1);
String senha = JOptionPane.showInputDialog("Digite sua senha:");
Connection vai = conn.getConnection();
// Definindo à query de select da conta com à senha correta
String sqlDados = ("SELECT * FROM conta WHERE agencia = ? AND senha = ?");
// Preparando o bagulho
PreparedStatement pstDados = vai.prepareStatement(sqlDados);
// Vamos definir os campos ?
pstDados.setInt(1, agencia);
pstDados.setString(2, senha);
// Executando à query retornando uma resposta
ResultSet rsDados = pstDados.executeQuery();
// Se tal condição sql for verdadeira
if(rsDados.next())
{
// Definindo à query de delete da conta logada
String sqlDel = ("DELETE FROM conta WHERE agencia = ?");
// Preparando o bagulho
PreparedStatement pstDel = vai.prepareStatement(sqlDel);
// Vamos definir os campos ? - agência à ser deletada
pstDel.setInt(1, rsDados.getInt("agencia"));
// Executando à query sem retornar nada
pstDel.execute();
JOptionPane.showMessageDialog(null, "Conta apagada! Volte sempre!");
conn.closeConnnection(vai);
}
else
{
JOptionPane.showMessageDialog(null,"Dados inválidos!");
conn.closeConnnection(vai);
System.exit(1);
}
}
else
{
JOptionPane.showMessageDialog(null, "Obrigado!");
System.exit(1);
}
}
}
exibesSaldo.java
Código:
package newBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.Locale;
import javax.swing.JOptionPane;
public class exibeSaldo
{
private static DecimalFormat df = (DecimalFormat) DecimalFormat.getCurrencyInstance(new Locale("pt","BR"));
public exibeSaldo () throws SQLException
{
conexao conn = new conexao();
String aux1 = JOptionPane.showInputDialog("Digite sua agência:");
Integer agencia = Integer.parseInt(aux1);
String senha = JOptionPane.showInputDialog("Digite sua senha:");
Connection vai = conn.getConnection();
// Definindo à query de select da conta com à senha correta
String sqlDados = ("SELECT * FROM conta WHERE agencia = ? AND senha = ?");
// Preparando o bagulho
PreparedStatement pstDados = vai.prepareStatement(sqlDados);
// Vamos definir os campos ?
pstDados.setInt(1, agencia);
pstDados.setString(2, senha);
// Executando à query retornando uma resposta
ResultSet rsDados = pstDados.executeQuery();
// Se tal condição sql for verdadeira
if(rsDados.next())
{
JOptionPane.showMessageDialog(null, ""+rsDados.getString("nome")+" seu saldo atual é de: "+df.format(rsDados.getDouble("saldo")));
conn.closeConnnection(vai);
}
else
{
JOptionPane.showMessageDialog(null,"Dados inválidos!");
conn.closeConnnection(vai);
System.exit(1);
}
}
}
sacarSaldo.java
Código:
package newBanco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class sacarSaldo
{
public sacarSaldo () throws SQLException
{
conexao conn = new conexao();
String aux1 = JOptionPane.showInputDialog("Digite sua agência:");
Integer agencia = Integer.parseInt(aux1);
String senha = JOptionPane.showInputDialog("Digite sua senha:");
Connection vai = conn.getConnection();
// Definindo à query de select da conta com à senha correta
String sqlDados = ("SELECT * FROM conta WHERE agencia = ? AND senha = ?");
// Preparando o bagulho
PreparedStatement pstDados = vai.prepareStatement(sqlDados);
// Vamos definir os campos ?
pstDados.setInt(1, agencia);
pstDados.setString(2, senha);
// Executando à query retornando uma resposta
ResultSet rsDados = pstDados.executeQuery();
// Se tal condição sql for verdadeira
if(rsDados.next())
{
// Obtendo valor digitado pelo usuario
String aux2 = JOptionPane.showInputDialog("Digite o valor à ser sacado:");
Double valor = Double.parseDouble(aux2);
if(rsDados.getDouble("saldo") < valor)
{
JOptionPane.showMessageDialog(null, "Você não possui esse saldo disponivel para saque!");
}
else
{
// Definindo à query de update retirando o saldo, dizendo à conta à ser sacada
String sqlSacar = ("UPDATE conta SET saldo = saldo - ? WHERE agencia = ?");
// Preparar o bagulho
PreparedStatement pstSacar = vai.prepareStatement(sqlSacar);
// Vamos definir os campos ?
pstSacar.setDouble(1, valor);
pstSacar.setInt(2, rsDados.getInt("agencia"));
// Executando sem retornar nada
pstSacar.execute();
conn.closeConnnection(vai);
}
}
else
{
JOptionPane.showMessageDialog(null,"Dados inválidos!");
conn.closeConnnection(vai);
System.exit(1);
}
}
}