Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Resultados 1 a 3 de 3
  1. #1



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Post [Código Java] Simulação de Conta (BD - Postgresql)

    Olá galera IMP,
    Fiz um código de Switch Case e Default com algumas classes, utilização dos metodos get e set com interação de banco de dados em postgresql. Resolvi postar para quem quiser analisar ou utilizar em outra coisa...


    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);
    		}
    	}
    
    }
    
    


    Programa em linguagem Java SE realizado por [Somente usuários registrados podem vem os links. ](Dorcílio Neto).


    Está guardado em meu PC um bom tempo, pode haver algumas falhas, gambiarras etc... Então não necessita zomba, apenas coisas construtivas.

    Atenciosamente,
    João Neto.
    Última edição por João Neto; 03-09-2013 às 12:29 PM.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

  2. O Seguinte Usuário Agradeceu João Neto Por este Post Útil:


  3. #2

    Avatar de s00x
    Data de Ingresso
    Mar 2013
    Localização
    Goiânia
    Posts
    415
    Agradecido
    265
    Agradeceu
    168
    Peso da Avaliação
    9

    Padrão

    Realmente segurança esta em baixa , mas interessante a Lógica usada .
    É de algum projeto em especifico tinha ou tem alguma finalidade ? se tiver como passar o algoritmo dele caso haja para dar continuidade , tem como ?
    Explore seu conhecimento antes que os outros o Explore.

  4. #3



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @freed0m-,

    Na verdade inicialmente ele era apenas um exercicio para utilizar o metodos get e set para manipular uma criação de conta temporaria e simular um pouco de algumas operações de banco...
    Porém como eu já trabalhava com sql pensei em deixar o código mais evoluido e interagir com banco de dados, escolhi postgresql pois é o que uso em minha maquina Slackware x64.

    Tem algumas coisas que deixa desejar, mais tem pontos que vale ressaltar, tipo o modo que utilizei para executar os comandos sql.
    Não tenho mais o algoritmo dele. Finalidade em si na verdade depende do caso, eu pretendia melhorar à ponto de criar uma tela em JFrame e deixa-lo um pouco mais limpo e organizado. Porém deixei de mão, tô focado em JSF+PrimeFaces no momento.

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Tutorial| [Código Java] PA e PG Utilizando Funções
    Por João Neto no fórum Java
    Respostas: 0
    Último Post: 07-01-2014, 04:28 PM
  2. |Pedido| java script protctor
    Por hadeslan no fórum Suportes|Dúvidas|Pedidos
    Respostas: 3
    Último Post: 20-10-2013, 09:55 PM
  3. |Pedido| Gerador de dumps (JAVA e .NET)
    Por jhonhy no fórum Pedidos
    Respostas: 2
    Último Post: 10-09-2013, 01:30 AM
  4. |Tutorial| [Explicação]+[Código Java] Switch Case e Default
    Por João Neto no fórum Java
    Respostas: 1
    Último Post: 22-02-2013, 05:14 PM
  5. |Suporte| Help: Exercicio em Java
    Por henriquelb no fórum Java
    Respostas: 2
    Último Post: 22-04-2010, 04:09 AM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •