Duvida com programaçao java no postgres

0 respostas
WaistGunner

Eu tenho uma tabela no postgres chamada funcionario com nome, codigo(serial, primary key->cod_pk),login(unique key->log_uk),senha e data de nascimento(dtnasc), e tenho o codigo em java com telas swing no eclipse, eu so tenho o campo de inserçao de nome e queria inserir os outros campos no codigo em todas as telas (Consulta,cadastro e remoçao) mas fica dando erro, alem do mais, no frame de consulta queria inserir um botão de "refresh" pra não ter que ficar tendo que rodar o codigo toda vez

Os codigos:

package br.com.jdbc;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;
public class FrmAltDel extends JFrame implements ActionListener {

private Funcionario funcionario;

private JButton btnAlterar = new JButton("Alterar"), btnExcluir = new JButton("Excluir");

private JTextField nome = new JTextField();

private JTextField dtnasc = new JTextField();
public FrmAltDel() {
	getContentPane().setLayout(new GridLayout(2, 2));
	getContentPane().add(new JLabel("Nome:"));
	getContentPane().add(nome);
	getContentPane().add(new JLabel("Data de Nascimento:"));
	getContentPane().add(dtnasc);
	getContentPane().add(btnAlterar);
	getContentPane().add(btnExcluir);
	btnAlterar.addActionListener(this);
	btnExcluir.addActionListener(this);
	setSize(400, 400);
	setTitle("Alterar/Deletar Funcionario");
}

public Funcionario getFuncionario() {
	return funcionario;
}

public void setFuncionario(Funcionario funcionario) {
	this.funcionario = funcionario;
	nome.setText(funcionario.getNome());
	
}


@Override
public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
	String driver = "org.postgresql.Driver";
	// URL de acesso ao postgres
	// String url = "jdbc:postgresql://172.16.2.35:5432/postgres";
	String url = "jdbc:postgresql://localhost:5432/postgres";
	// usuário do banco
	String user = "postgres";
	// senha do usuário do banco
	String pass = "postgres";
	try {
		// Carregando o driver
		Class.forName(driver);
		// Estabelece a conexao
		Connection con = DriverManager.getConnection(url, user, pass);
		System.out.println(con.isClosed());
		PreparedStatement ps= null;
		if (e.getSource() == btnAlterar) {
			String sql = "update funcionario set nome=? where codigo=? ";
			ps = con.prepareStatement(sql);
			ps.setString(1, nome.getText());
			ps.setInt(2, funcionario.getCodigo());
		} else {
			String sql = "delete from funcionario where codigo=?";
			ps = con.prepareStatement(sql);
			ps.setInt(1, funcionario.getCodigo());
		}
		ps.executeUpdate();

		ps.close();
		con.close();
		
	} catch (Exception ex) {
		ex.printStackTrace();
	}
}

}


package br.com.jdbc;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.List;

import java.util.Vector;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;
public class FrmCadastrar extends JFrame implements ActionListener {

private JTextField jtfNome = new JTextField();

private JTextField jtfDtnasc = new JTextField();

private JButton btnCadastrar = new JButton("cadastrar");

public FrmCadastrar() {

getContentPane().setLayout(new GridLayout(3,2));

getContentPane().add(new JLabel("Nome:"));

getContentPane().add(jtfNome);

getContentPane().add(new JLabel("Data de Nascimento:"));

getContentPane().add(jtfDtnasc);

getContentPane().add(btnCadastrar);

setTitle("Cadastrar Funcionario");

setSize(400, 400);

btnCadastrar.addActionListener(this);

}

<a class="mention" href="/u/override">@Override</a>

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

// Qual banco que quer acessar

String driver = "org.postgresql.Driver";

// URL de acesso ao postgres

//		String url = "jdbc:postgresql://172.16.2.35:5432/postgres";

String url = "jdbc:postgresql://localhost:5432/postgres";

// usuário do banco

String user = "postgres";

// senha do usuário do banco

String pass = "postgres";

try {

// Carregando o driver

Class.forName(driver);

// Estabelece a conexao

Connection con = DriverManager.getConnection(url, user, pass);

System.out.println(con.isClosed());

// Comando de insercao na tabela produto

String sql="insert into funcionario (nome,dtnasc) values (?,?) ";

PreparedStatement ps = con.prepareStatement(sql);

ps.setString(1, jtfNome.getText());

ps.executeUpdate();

ps.setString(2, jtfDtnasc.getText());

ps.executeUpdate();

ps.close();

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

package br.com.jdbc;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import java.util.Vector;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

public class FrmConsulta extends JFrame implements ActionListener{

private JList listFuncionario;
private JButton btnNovo = new JButton("Novo");
private JButton btnSelecionar = new JButton("Selecionar");
private JButton btnRefresh = new JButton("Atualizar");
public FrmConsulta() {
	getContentPane().setLayout(new GridLayout(2,1));
	getContentPane().add(btnNovo);
	getContentPane().add(btnSelecionar);
	//getContentPane().add(btnRefresh);
	btnNovo.addActionListener(this);
	btnSelecionar.addActionListener(this);
	btnRefresh.addActionListener(this);
	setTitle("Consultar Funcionario");
	setSize(400, 400);
}

public void carregar(List&lt;Funcionario&gt; list) {
	listFuncionario = new JList((Vector&lt;Funcionario&gt;)list);
	getContentPane().add(new JLabel("Produtos:"));
	getContentPane().add(listFuncionario);
}

@Override
public void actionPerformed(ActionEvent arg0) {
	// TODO Auto-generated method stub
	if (arg0.getSource() == btnNovo) {
	FrmCadastrar frmCad = new FrmCadastrar();
	frmCad.setVisible(true);
	} else {
		Funcionario fun = (Funcionario)listFuncionario.getSelectedValue();
		FrmAltDel frmAltDel = new FrmAltDel();
		frmAltDel.setFuncionario(fun);
		frmAltDel.setVisible(true);
	}
}

}

package br.com.jdbc;

import java.util.Date;
//nao coloquei todos os getters e setters, mas esse nao é o problema primordial
public class Funcionario
{
private Date dtnasc;
private int codigo;
private String nome;
public Date getDtnasc() {
return dtnasc;
}
public void setDtnasc(Date dtnasc) {
this.dtnasc = dtnasc;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String toString() {
return nome + " " + dtnasc;
}
}

//O nome dessa classe é jdbc1

package br.com.jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.List;

import java.util.Vector;

/**
  • consult
    select * from public.cliente where codigo=2

Exclusao
delete from public.cliente
delete from public.cliente where codigo=2

Isercão
insert into public.cliente (nome, fone) values (‘george’, ‘112469D4’)

Alteração

update public.cliente set nome=George, fone=112469D4 where codigo = 3

*/

public class jdbc1

{

public static void main(String[] args) {

// TODO Auto-generated method stub

// Qual banco que quer acessar

String driver = org.postgresql.Driver;

// URL de acesso ao postgres

//String url = “jdbc:postgresql://172.16.2.35:5432/postgres”;

String url = jdbc:postgresql://localhost:5432/postgres”;

// usuário do banco

String user = postgres;

// senha do usuário do banco

String pass = postgres;

try {

// Carregando o driver

Class.forName(driver);

// Estabelece a conexao

Connection con = DriverManager.getConnection(url, user, pass);

System.out.println(con.isClosed());

// Comando de insercao na tabela Funcionario

String sql="select * from funcionario order by nome ";

// Criando uma sentenca de execucao de comandos SQL

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(sql);

List<Funcionario> list = new Vector<Funcionario>();

while (rs.next()) {

Funcionario fun = new Funcionario();

fun.setDtnasc(rs.getDate(dtnasc));

fun.setNome(rs.getString(nome));

list.add(fun);

}

FrmConsulta frmCons = new  FrmConsulta();

frmCons.carregar(list);

frmCons.setVisible(true);

con.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

//o nome dessa classe é ExConsulta, mas acho que ela é só pra referencias, não entra no codigo

package br.com.jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class ExConsulta {
/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	// Qual banco que quer acessar
	String driver = "org.postgresql.Driver";
	// URL de acesso ao postgres
	String url = "jdbc:postgresql://localhost:5432/postgres";
	// usuário do banco
	String user = "postgres";
	// senha do usuário do banco
	String pass = "postgres";
	try {
		// Carregando o driver
		Class.forName(driver);
		// Estabelece a conexao
		Connection con = DriverManager.getConnection(url, user, pass);
		System.out.println(con.isClosed());
		// Comando de selecao
		//String insert="select codigo, nome from produto";
		String sql="select * from funcionario";
		// Criando uma sentenca de execucao de comandos SQL
		Statement stmt = con.createStatement();
		// Comando para consultar
		ResultSet rs = stmt.executeQuery(sql);
		// Percorrendo o resultado
		while (rs.next()) {
			// Obtendo a coluna Codigo
			System.out.print("Codigo: " + rs.getInt("codigo"));
			// Obtendo a coluna Nome
			System.out.println(" Nome: " + rs.getString("nome"));
		}
		con.close();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

}

Criado 21 de junho de 2009
Respostas 0
Participantes 1