Java DB

4 respostas
J

bom, num sei praticamente nada de java.
mais tipo, to aqui fazendo um cadastro ne..

ai a conexao eu fiz assim
package sistema;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConexaoDAO {

	private static Connection conexao = null;
	public static Connection getconexao(){

	try{

	if (conexao == null){
	Class.forName("org.postgresql.Driver");
	conexao = DriverManager.getConnection ("jdbc:postgresql://"+"127.0.0.1"+"/"+"LocadoraDVD" + "?user="+"postgres" + "&1234");
	return conexao;
	}//Fim do IF
	else return null;
	}//Fim do Try

	catch (SQLException e){
	e.printStackTrace();
	System.exit(1);
	return null;
	}//Fim do catch

	catch (ClassNotFoundException e){
	e.printStackTrace();
	System.exit(1);
	return null;
	}//Fim do Catch
	}//Fim da Conexao
	
	public static void Desconectar(){
		try{
		conexao.close();
		}//Fim do Try
		catch (SQLException e){
		e.printStackTrace();
		System.exit(1);
		}//Fim do catch
	}//Fim da Desconexao
	}//Fim da Classe
a classe cliente ta assim
package sistema;

import java.sql.Connection;
import java.sql.DriverManager;	
import java.sql.SQLException;
import java.sql.PreparedStatement;

public class Cliente {
 
	private int idCliente;
	 
	private String nome;
	 
	private String endereco;
	 
	private String cidade;
	 
	private String bairro;
	 
	private String estado;
	 
	private int cep;
	 
	private int rg;
	 
	private int cpf;
	 
	private int telefone;
	 
	private int celular;
	 
	private int dataNascimento;
	 
	private int dataCadastro;
	
	private String email;
	 
	//######################################################

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public int getCelular() {
		return celular;
	}

	public void setCelular(int celular) {
		this.celular = celular;
	}

	public int getCep() {
		return cep;
	}

	public void setCep(int cep) {
		this.cep = cep;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public int getCpf() {
		return cpf;
	}

	public void setCpf(int cpf) {
		this.cpf = cpf;
	}

	public int getDataCadastro() {
		return dataCadastro;
	}

	public void setDataCadastro(int dataCadastro) {
		this.dataCadastro = dataCadastro;
	}

	public int getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(int dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public int getIdCliente() {
		return idCliente;
	}

	public void setIdCliente(int idCliente) {
		this.idCliente = idCliente;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getRg() {
		return rg;
	}

	public void setRg(int rg) {
		this.rg = rg;
	}

	public int getTelefone() {
		return telefone;
	}

	public void setTelefone(int telefone) {
		this.telefone = telefone;
	}
	
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	 
	//##################################################
	
	public String Salvar(Cliente cliente) {
		String mensagem = "";
		   
	       if (cliente.getIdCliente() == 0)
		       mensagem = "";
	       else if (cliente.getNome().equals(""))
		            mensagem ="INSIRA UM NOME - OBRIGATORIO";
	       
	       else if (cliente.getEndereco().equals(""))
	                mensagem = "INSIRA UM ENDERECO - OBRIGATORIO";
	       
	       else if (cliente.getCidade().equals(""))
	                mensagem ="INSIRA UMA CIDADE - OBRIGATORIO";
	       
	       else if (cliente.getBairro().equals(""))
	    	   		mensagem ="INSIRA UM BAIRRO - OBRIGATORIO";
	       
	       else if (cliente.getEstado().equals(""))
   	   				mensagem ="INSIRA UM ESTADO - OBRIGATORIO";
	       
	       else if (cliente.getRg() == 0)
   	   				mensagem ="INSIRA UM RG - OBRIGATORIO";
	       
	       else if (cliente.getCpf() == 0)
	   				mensagem ="INSIRA UM CPF - OBRIGATORIO";
	       
	       else if (cliente.getTelefone() == 0)
	   				mensagem ="INSIRA UM TELEFONE - OBRIGATORIO";
	       
	       else if (cliente.getDataNascimento() == 0)
	   				mensagem ="INSIRA UMA DATA DE NASCIMENTO - OBRIGATORIO";
	       
	       else if (cliente.getDataCadastro() == 0)
	   				mensagem ="INSIRA UMA DATA DE CADASTRO - OBRIGATORIO";
	 
	       else {
		          Connection conexao =  ConexaoDAO.getconexao(); 
	              String sql = "insert into public.cliente(idCliente, nome, endereco,cidade, bairro, estado, cep, rg, cpf, telefone, celular, dataNascimento, dataCadastro, email) "+
                         "values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
	              try {
	        	
	        	       mensagem = "CONEXAO ESTABELECIDA COM SUCESSO";
	        	       PreparedStatement ps = conexao.prepareStatement(sql);
	        	
	        	       ps.setInt   (1,cliente.getIdCliente());
	        	       ps.setString (2,cliente.getNome());
	        	       ps.setString (3,cliente.getEndereco());
	        	       ps.setString(4,cliente.getCidade());
	        	       ps.setString (5,cliente.getBairro());
	        	       ps.setString (6,cliente.getEstado());
	        	       ps.setInt(7,cliente.getCep());
	        	       ps.setInt (8,cliente.getRg());
	        	       ps.setInt (9,cliente.getCpf());
	        	       ps.setInt(10,cliente.getRg());
	        	       ps.setInt(11,cliente.getTelefone());
	        	       ps.setInt (12,cliente.getCelular());
	        	       ps.setInt (13,cliente.getDataNascimento());
	        	       ps.setInt (14,cliente.getDataNascimento());
	        	       ps.setString(15,cliente.getEmail());
	        	
	        	       ps.executeUpdate();
	        	       ConexaoDAO.Desconectar();
	              }
	              catch(SQLException e){
	        	        mensagem="ERRO AO INSERIR DADOS";
	        	        e.printStackTrace();
	        
	              }
	              
	       }
		
	       return mensagem;
	}
	 
	public void Alterar(Cliente clienteNovo, Cliente clienteAntigo) {
		//ALTERAR OS DADOS
	}
	 
	public void Excluir(Cliente cliente) {
		//EXCLUI OS DADOS
	}
	 
	public void Buscar(Cliente cliente) {
		//BUSCA OS DADOS
	}
	
}
e o botao Salvar do formulario Cliente ta assim
Cliente cliente = new Cliente();
					
					cliente.setIdCliente(5);
					cliente.setNome(txtNome.getText());
					cliente.setRg(Integer.parseInt(txtRG.getText()));
					cliente.setCpf(Integer.parseInt(txtCPF.getText()));
					cliente.setTelefone(Integer.parseInt(txtTelefone.getText()));
					cliente.setCelular(Integer.parseInt(txtCelular.getText()));
					cliente.setDataNascimento(Integer.parseInt(txtDataNascimento.getText()));
					cliente.setEndereco(txtEndereco.getText());
					cliente.setCidade(txtCidade.getText());
					cliente.setEstado(cboEstado.getText());//OBS AQUI NO CBOESTADO, O QUE COLOCO NO LUGAR DO GETTEXT ??? JA QUE APARECE COMO ERRO =/
					cliente.setBairro(txtBairro.getText());
					cliente.setCep(Integer.parseInt(txtCEP.getText()));
					cliente.setEmail(txtEmail.getText());
					cliente.setDataCadastro(Integer.parseInt(txtDataCadastro.getText()));
					
	                String mensagem = cliente.Salvar(cliente);
	                System.out.println(mensagem);
	                
				   JOptionPane.showMessageDialog(null, mensagem);

entaum, como faço pra ALTERAR e EXCLUIR ???
Foi mals pela mensagem tao grande..
vlws
[size=18] [/size]

4 Respostas

diogoprosoft

Bom respondendo a pergunta do combo vc tera que passar um array o algo do tipo

E para alterar vc tera que mudar teu “sql” ± " update tabela set (colunas) where (codigo do cliente) ";

E para excluir vc tera que mudar teu “sql” ± " delete from tabela where coluna = (colunas);

A

Fica +/- assim, não esquece de fechar a conexão. Nos métodos de busca tem que retornar o Cliente e não void

[code]
public Cliente Alterar(Cliente clienteNovo, Cliente clienteAntigo) {
String sql = "update cliente set cliente.campo1 = ?, cliente.campo2 = ? ... outros campos WHERE cliente = ?";

//pega conexao e os o preparedStatement

return clienteNovo;

}

public void Excluir(Cliente cliente) {
String sql = "delete from sua_tabela where sua_tabela.codigo = ?";
PreparedStatement ps = conexao.prepareStatement(sql);
ps.setInt(1,cliente.getIdCliente());
ps.executeUpdate();
}

public Cliente Buscar(Cliente cliente) {
String sql = "select * from cliente where cliente.codigo = ?";
PreparedStatement ps = conexao.prepareStatement(sql);
ps.setInt(1,cliente.getIdCliente());
//recupera o ResultSet, monta o cliente e retorna.
ResultSet rs = ps.executeQuery();
Cliente clienteBusca = new Cliente();
if(rs.next(){
//o result set tem os método que retorna os campos
}
return clienteBusca ;
} [code]

J

Entuam o metodo Excluir da classe Cliente vai ficar assim né.

public String Excluir(Cliente cliente) {
		String mensagem = "";
		
		Connection conexao =  ConexaoDAO.getconexao();
		String sql = "delete from public.cliente where cliente.codigo = idCliente";
		
		try {
			
			mensagem = "CONEXAO ESTABELECIDA COM SUCESSO";
			PreparedStatement ps = conexao.prepareStatement(sql);
			
			ps.setInt(1,cliente.getIdCliente());
			ps.executeUpdate();
			ConexaoDAO.Desconectar();
		}
		catch(SQLException e){
	        mensagem = "ERRO AO EXCLUIR DADOS";
	        e.printStackTrace();
      }
		
		return mensagem;
	}

e no formulário que eu tenho um JTable que se chama TabelaClientes
como faço para carregar os dados do Banco de dados la ?
e quando eu selecionar um Cliente na tabela, eu seleciono o cliente e clico em excluir e chamo o Metodo Excluir na Classe Cliente. como faço isso ?
Vlw

A

O Objeto JTable tem um contrutor “JTable(Vector rowData, Vector columnNames)” que você passa dois Vectors, essa seria forma mais simples.
Uma outra solução é implementar o TableModel

Vector nomeColunas = new Vector();
nomeColunas .add("Nome");
nomeColunas .add("Sobrenome");

Vector tabela = new Vector();

Vector linha = new Vector();
linha.add(cliente1.nome);
linha.add(cliente1.sobrenome);

tabela.add(linha);

linha = new Vector();
linha.add(cliente2.nome);
linha.add(cliente2.sobrenome);

tabela.add(linha);

JTable jtable = new JTable(tabela, nomeColunas );
Criado 28 de novembro de 2008
Ultima resposta 28 de nov. de 2008
Respostas 4
Participantes 3