formulÁrio e sql

Olá pessoal ! Sou novata em relação a JAVA. Porém o professor mesmo assim nos pediu para que fizessemos um formulário usando o swing e com conexão a banco de dados, no caso o SQL SERVER.
O programa deve ao clicar me um botão realizar a operação SQL correspondente. Todas as informações são capturadas por JTextField. O problema é não estou conseguindo ver como isso funciona ou seja como implementarei corretamente as funções em cada botão. Isso foi o que eu consegui até agora:

import java.awt.BorderLayout;
import java.awt.FlowLayout;
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.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class CadastroFuncionario extends JFrame implements ActionListener{
JPanel painel ;
JPanel painelBotoes;

JButton btnInserir;
JButton btnAtualizar;
JButton btnApagar;
JButton btnListar;


JTextField txtNome;
JTextField txtProfissao;
JTextField txtData;
JTextField txtSexo;

JTextArea exibir;

JLabel lblNome;
JLabel lblProfissao;
JLabel lblData;
JLabel lblSexo;



	public CadastroFuncionario(){
		super("Cadastro de Funcionários"); 
		
		painel = new JPanel();
		
		painel.setLayout(new GridLayout(11,1,0,5));
		
	
		//exibir = new JTextArea(60,60);
	    //painel.add(exibir);
		
		
		painel.add(lblNome = new JLabel("Nome: "));
					
		txtNome = new JTextField(100);
		painel.add(txtNome);
		
		
		
		painel.add(lblProfissao= new JLabel("Profissao: "));
					
		painel.add(txtProfissao = new JTextField(50));
		
		
		lblData = new JLabel("Data de nascimento: ");
		painel.add(lblData);
		
		txtData = new JTextField(10);
		painel.add(txtData);
		
		
		lblSexo = new JLabel("Sexo: ");
		painel.add(lblSexo);
		
		txtSexo = new JTextField(2);
		painel.add(txtSexo);
		
		
		
		painelBotoes = new JPanel();
		painelBotoes.setLayout(new FlowLayout());
		
		
		
		btnInserir = new JButton("INSERIR");
		painelBotoes.add(btnInserir);
		btnInserir.addActionListener(this);
		
		btnAtualizar = new JButton("ATUALIZAR");
		painelBotoes.add(btnAtualizar);
		btnAtualizar.addActionListener(this);
		 
		btnApagar = new JButton("APAGAR");
		painelBotoes.add(btnApagar);
		btnApagar.addActionListener(this);
		
		btnListar = new JButton("LISTAR");
		painelBotoes.add(btnListar); 
		btnListar.addActionListener(this);
		
		
		
		getContentPane();
		
		setLayout(new BorderLayout());
		
		add(painel, BorderLayout.NORTH);
		add(painelBotoes, BorderLayout.CENTER);
		
		setSize(400,430);
		setLocation(180,180);
		setVisible(true);
		
		 
		
	}


public static void main(String[] args)throws ClassNotFoundException, SQLException {
	CadastroFuncionario cf = new CadastroFuncionario();
	Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
	Connection con = DriverManager.getConnection("jdbc:odbc:bdFun");

}

@Override
public void actionPerformed(ActionEvent arg) {
	
	
	
	
	if(arg.getSource() == btnInserir){
		
		PreparedStatement inserirpstmt = con.prepareStatement("INSERT INTO DadosFun VALUES(?,?,?,?)");
		inserirpstmt.setString(1, txtNome);
		inserirpstmt.setString(2, txtProfissao);
		inserirpstmt.setString(3, txtData);
		inserirpstmt.setString(4, txtSexo);
		inserirpstmt.executeUpdate();
		
	}
	
	if(arg.getSource() == btnAtualizar){
		
		
		PreparedStatement atualizarpstmt = con.prepareStatement("UPDATE DadosFun VALUES(?,?,?,?)");
		atualizarpstmt.setString(1, txtNome);
		atualizarpstmt.setString(2, txtProfissao);
		atualizarpstmt.setString(3, txtData);
		atualizarpstmt.setString(4, txtSexo);
		atualizarpstmt.executeUpdate();
	}
	
	if(arg.getSource() == btnApagar){
		
		
		PreparedStatement apagarpstmt = con.prepareStatement("DELETE FROM DadosFun WHERE(?)");
		apagarpstmt.setString(1, txtNome);
		apagarpstmt.executeUpdate();
	}
	
	if(arg.getSource() == btnListar){
		
		
		PreparedStatement ps = con.prepareStatement("SELECT * FROM DadosFun");
		ResultSet rs = ps.executeQuery();
		System.out.println("Nome \t Profissao \t Nascimento \t Sexo");
		
		
		while (rs.next()) {
		System.out.println(rs.getString("NOME").trim() + "\t" +rs.getString("PROFISSAO").trim() + "\t" + rs.getDate("NASCIMENTO") +
		"\t" + rs.getString("SEXO").trim());

	}
	}
	
	
	
}

}

Obrigada !

Obs.: (quando for postar códigos use as Tag code)
Deixa eu te pergunta, você ja testou isso ai??
outra coisa, por que você num faz para cada evento ( cadastrar,listar,deletar e atualizar) um actionPerformed diferente??
ou seja, um botão para cada ação… um ActiomnPerformed para cara botão, eu acho que fica mais fácil…

Bom em casa eu não cheguei a testar pois ele acusa um erro na conexão, mas, na faculdade onde estudo deu erro não na conexão mas nas ações dos botões, só não me recordo qual erro especificamente =/ . Bom vou fazer então um ActionPerformed para cada botão. Outra solução que eu tive foi essa, testei em casa e mais uma vez deu erro de conexão com o SQL depois que cliquei no botão INSERIR:



import java.awt.BorderLayout;
import java.awt.FlowLayout;
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.SQLException;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class CadastroFuncionario extends JFrame implements ActionListener{
	JPanel painel ;
	JPanel painelBotoes;
	
	
	JButton btnInserir;
	JButton btnAtualizar;
	JButton btnApagar;
	JButton btnListar;
	
	
	JTextField txtNome;
	JTextField txtProfissao;
	JTextField txtData;
	JTextField txtSexo;
	
	JTextArea exibir;
	
	JLabel lblNome;
	JLabel lblProfissao;
	JLabel lblData;
	JLabel lblSexo;
	
	
	
		public  CadastroFuncionario(){
			super("Cadastro de Funcionários"); 
			
			painel = new JPanel();
			
			painel.setLayout(new GridLayout(11,1,0,5));
			
		
			//exibir = new JTextArea(60,60);
		    //painel.add(exibir);
			
			
			painel.add(lblNome = new JLabel("Nome: "));
						
			txtNome = new JTextField(100);
			painel.add(txtNome);
			
			
			
			painel.add(lblProfissao= new JLabel("Profissao: "));
						
			painel.add(txtProfissao = new JTextField(50));
			
			
			lblData = new JLabel("Data de nascimento: ");
			painel.add(lblData);
			
			txtData = new JTextField(10);
			painel.add(txtData);
			
			
			lblSexo = new JLabel("Sexo: ");
			painel.add(lblSexo);
			
			txtSexo = new JTextField(2);
			painel.add(txtSexo);
			
			
			
			painelBotoes = new JPanel();
			painelBotoes.setLayout(new FlowLayout());
			
			
			
			btnInserir = new JButton("INSERIR");
			painelBotoes.add(btnInserir);
			btnInserir.addActionListener(this);
			
			btnAtualizar = new JButton("ATUALIZAR");
			painelBotoes.add(btnAtualizar);
			btnAtualizar.addActionListener(this);
			 
			btnApagar = new JButton("APAGAR");
			painelBotoes.add(btnApagar);
			btnApagar.addActionListener(this);
			
			btnListar = new JButton("LISTAR");
			painelBotoes.add(btnListar); 
			btnListar.addActionListener(this);
			
			
			
			getContentPane();
			
			setLayout(new BorderLayout());
			
			add(painel, BorderLayout.NORTH);
			add(painelBotoes, BorderLayout.CENTER);
			
			setSize(400,430);
			setLocation(180,180);
			setVisible(true);
		}
			 
			
			
	
	public static void main(String[] args)throws ClassNotFoundException, SQLException {
		CadastroFuncionario cf = new CadastroFuncionario();
		
}

	


	@Override
	public void actionPerformed(ActionEvent arg) {
		
		String nome = txtNome.getText();
		String profissao = txtProfissao.getText();
		String nascimento = txtData.getText();
		String sexo = txtSexo.getText();
		
		
		if(arg.getSource() == btnInserir){
			inserir();		
		}
		
		if(arg.getSource() == btnAtualizar){
			atualizar();
		}
		
		
		if(arg.getSource() == btnApagar){
			apagar();
		}
		
		if(arg.getSource() == btnListar){
			listar();				
		}
			
			
	}

	
	private void inserir(){
		Connection con;
		
		String nome = txtNome.getText();
		String profissao = txtProfissao.getText();
		String nascimento = txtData.getText();
		String sexo = txtSexo.getText();
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			con = DriverManager.getConnection("jdbc:odbc:bd");
		}catch(Exception e){
			e.printStackTrace();
			throw new RuntimeException("ERRO AO SE CONECTAR !");
		}
		
		try{
		PreparedStatement includepstmt = con.prepareStatement("INSERT INTO FUNCIONARIO VALUES(?,?,?,?)");
		
		includepstmt.setString(1, nome);
		includepstmt.setString(2, profissao);
		includepstmt.setString(3, nascimento);
		includepstmt.setString(4, sexo);
		includepstmt.executeUpdate();
		
		}catch(SQLException e){
			throw new RuntimeException("ERRO NA INSERÇÃO DE VALORES");
		}
	}
	

	private void atualizar(){
		Connection con;
		
		String nome = txtNome.getText();
		String profissao = txtProfissao.getText();
		String nascimento = txtData.getText();
		String sexo = txtSexo.getText();
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			con = DriverManager.getConnection("jdbc:odbc:bd");
		}catch(Exception e){
			e.printStackTrace();
			throw new RuntimeException("ERRO AO SE CONECTAR !");
		}
		
		try{
			PreparedStatement selecionapstmt = con.prepareStatement("SELECT * FROM FUNCIONARIO WHERE NOME = ?");
			ResultSet rs = selecionapstmt .executeQuery();
			selecionapstmt.setString(1, nome);
						
			PreparedStatement includepstmt = con.prepareStatement("UPDATE FUNCIONARIO SET(?,?,?,?) WHERE NOME =(?)");
		
			includepstmt.setString(1, nome);
			includepstmt.setString(2, profissao);
			includepstmt.setString(3, nascimento);
			includepstmt.setString(4, sexo);
			includepstmt.setString(5, nome);
			includepstmt.executeUpdate();
			
			PreparedStatement seleciona2pstmt = con.prepareStatement("SELECT * FROM FUNCIONARIO WHERE NOME = ?");
			ResultSet rs2 = seleciona2pstmt .executeQuery();
			seleciona2pstmt.setString(1, nome);
		
		}catch(SQLException e){
			throw new RuntimeException("ERRO NA ATUALIZAÇÃO DE VALORES");
		}
	}
		
		
	
	private void apagar(){
		Connection con;
		
		String nome = txtNome.getText();
		String profissao = txtProfissao.getText();
		String nascimento = txtData.getText();
		String sexo = txtSexo.getText();
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			con = DriverManager.getConnection("jdbc:odbc:bd");
		}catch(Exception e){
			e.printStackTrace();
			throw new RuntimeException("ERRO AO SE CONECTAR !");
		}
		
		try{
			PreparedStatement selecionapstmt = con.prepareStatement("SELECT * FROM FUNCIONARIO");
			ResultSet rs = selecionapstmt .executeQuery();
			
						
			PreparedStatement deletapstmt = con.prepareStatement("DELETE FROM FUNCIONARIO  WHERE NOME =(?)");
		
			deletapstmt.setString(1, nome);
			deletapstmt.executeUpdate();
			
			PreparedStatement seleciona2pstmt = con.prepareStatement("SELECT * FROM FUNCIONARIO");
			ResultSet rs2 = seleciona2pstmt .executeQuery();
					
			System.out.println("Nome \t Profissao \t Nascimento \t Sexo");
			
			
			while (rs.next()) {
			System.out.println(rs.getString("NOME").trim() + "\t" +rs.getString("PROFISSAO").trim() + "\t" + rs.getDate("NASCIMENTO") +
			"\t" + rs.getString("SEXO").trim());

		}
		
		}catch(SQLException e){
			throw new RuntimeException("ERRO NA ATUALIZAÇÃO DE VALORES");
		}
		
		
	}
	
	
	
	private void listar() {
		Connection con;
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			con = DriverManager.getConnection("jdbc:odbc:bd");
		}catch(Exception e){
			e.printStackTrace();
			throw new RuntimeException("ERRO AO SE CONECTAR !");
		}
		
		String query = "SELECT * FROM FUNCIONARIO";
		
			try{
				Statement stmt =  con.createStatement();
				ResultSet rs = stmt.executeQuery(query);
				
				while(rs.next()){
					
					System.out.println(rs.getString("NOME").trim() + "\t" +rs.getString("PROFISSAO").trim() + "\t" + rs.getDate("NASCIMENTO") +
							"\t" + rs.getString("SEXO").trim());
					
				}
	
			}catch(SQLException e){
				throw new RuntimeException("ERRO NA SELEÇÃO");
			}
	
			try{
				con.close();
			}catch (Exception e){
				e.printStackTrace();
			}
		
	}

}

Este é o erro que aparece:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Comprimento inválido de cadeia de caracteres ou de buffer
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at CadastroFuncionario.inserir(CadastroFuncionario.java:174)
at CadastroFuncionario.actionPerformed(CadastroFuncionario.java:144)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: ERRO AO SE CONECTAR !
at CadastroFuncionario.inserir(CadastroFuncionario.java:177)
at CadastroFuncionario.actionPerformed(CadastroFuncionario.java:144)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Se você ou alguém puder me explicar o por quê deste erro eu agradeço. Não sei se tem haver mas eu uso o SEVEN e o SQL 2008, já lá na faculdade é XP e SQL 2005.

Obrigada mais uma vez !

Opa!!!
Seguinte, você poder criar uma classe de Conexao para não prescisar ficar digitando esses códigos de conexão como banco de dados toda vez, simplesmente crie uma classe de Conexão e em cada método chame somente uma instancia dela, outra coisa, dentro do escopo do seu método de “Atualizar”, vc tem vários PreparedStatement pra que isso???
vc pode criar um método para cada instrução SQL, um para Atualizar, um para deletar, um para buscar e outro para cadastrar…
Caso vc não tenha a classe de Conexão, ou não esteja conseguindo cria-la me fala que vou posta-la pra vc…
tipo, não estou obrigando a fazer isso que falei, é apenas uma dica pra vc melhorar seu cóigo, pra ficar mais fácil de outra pessoa analisar a efetuar uma possível manutenção… :wink:

Obrigada já consegui consertar o erro ! Tá tudo funcionando, mas, se mesmo assim você puder me passar a classe conexão eu agradeço ! A outra coisa aqui em casa fica dando um erro muito estranho:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Comprimento inválido de cadeia de caracteres ou de buffer
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.buildTypeInfo(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at CadastroFuncionario.inserir(CadastroFuncionario.java:169)
at CadastroFuncionario.actionPerformed(CadastroFuncionario.java:137)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: ERRO AO SE CONECTAR !
at CadastroFuncionario.inserir(CadastroFuncionario.java:172)
at CadastroFuncionario.actionPerformed(CadastroFuncionario.java:137)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

O estranho é que na faculdade ele funciona já em casa não.

Boa tarde moça tudo bem… seguinte; eu acho que esse erro ai ta me parecendo erro de algum campo que vc declarou no banco com um tamanho específico que na sua aplicação você ta inserindo um tamanho diferente, tipo, se vc declarou um campo com umtanho de 10 e inserir 11, da um erro desse tipo, confere ai… qualquer coisa me avisa, vou procurar a classe pra você…
bjs…

achei a classe… eu coloque o drive que peguei na sua que postou ai, se não tiver certo vc corrigi ai… qualquer coisa avisa!!!
T+++

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

public class Conexao {

	// Método que irá estabelecer a conexao como o Banco de Dados
   public static Connection getConexao() throws SQLException{

	   try{
		// Aqui é o processo de se registrar o drive
		   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // SEU DRIVE QU PEGUEI NO SEU POST
		   System.out.println("Conectado ao banco");

		// Processo de estabelecer a conexão
		   return DriverManager.getConnection("jdbc:odbc:bd"); // SUA CONEXÃO QUE PEGUEI NO SEU POST

		   // Tratamento de erro, caso ocorra algum!!
	   }catch(ClassNotFoundException e){

		   // Caso ocorra erro, irá aparecer uma mensagem
	   throw new SQLException(e.getMessage());
	   }

   }

}

Para instacia-la faça da seguinte maneira

public static void main(String args[]){
    Connection conn = Conexao.getConexao();
}

Se aparecer a mensagem na linha de comando assim

Conectado ao banco

A conexão foi realizada com sucesso!!
T++