Eclipse + Firebird - RESOLVIDO

Estou com muita dificuldade para conectar meu código ao banco de dados Firebird 1.5, tenho pouca experiência com JAVA e Eclipse, recentemente consegui conectar meu código no banco dados Access e até desenvolver um projeto bem legal de compra e venda de carros sucateados, mas agora quero fazer no Firebird, pois tenho um banco de dados gigantesco com informações bem legais e gostaria de aprender em cima deste banco, li vários tópicos onde diz que tenho que usar o Jaybird e acrescentá-lo no CLASSPATH, mas não estou tendo sucesso, sei que pode parecer bobeira de minha parte pedir isso aqui, pois sei que quase ninguém fornece exemplos prontos, mas gostaria muito de aprender, mesmo que não seja um exemplo pronto, mas uma dica ou uma ajuda qualquer.

Agradeço desde já,

Sandro Fernandes Ferreira
sandrofferreira@hotmail.com

Você quer fazer mesmo no Firebird?
Porque não mudar o BD?

flw!!!

[]'s

Olá!

Bom, eu já utilizei em alguns trabalhos o Firebird como banco de dados, mas não entendi direito qual a sua dúvida.
Seria como colocar o Jaybird no Classhpath? Como fazer a classe de conexão? ou ambos?

[quote=NataliaOliveira]Olá!

Bom, eu já utilizei em alguns trabalhos o Firebird como banco de dados, mas não entendi direito qual a sua dúvida.
Seria como colocar o Jaybird no Classhpath? Como fazer a classe de conexão? ou ambos?[/quote]

Quero usar o Firebird pq o banco ainda é alimentado diariamente.
Minha dúvida é em criar a conexão e acrescentar o Jaybird no Classhpath.

Obrigado

Você já tem o jar do Jaybird, certo?

Pra colocar no classpath faça assim:

  • Vá nas propriedades do seu projeto do Eclipse > Java Build Path > Libraries
  • Add Jar > Selecione o jar do jaybird

Adicionado o jar, você utiliza deste método para conexão:

public void conectar() {
       try {
         Class.forName("org.firebirdsql.jdbc.FBDriver");  
         Connection con = DriverManager.getConnection("jdbc:firebirdsql:localhost:UrlDoArquivoDeBanco","SYSDBA","masterkey");
        catch(Exception e)
        {
          System.out.println("Houve um erro:" + e.getMessage());  
        }
    }
}
package Teste;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.JButton;

import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JFrame;
import javax.swing.JTable;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class NewJPanelPesquisas extends javax.swing.JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JButton btnListar;
	private JTable jTable;
	private TableModel baseTabela = new DefaultTableModel(new String[][] {
		    { "", "" }, { "", "" }, { "", "" } }, new String[] {"", "" , "" });


	/**
	 * Auto-generated main method to display this JPanel inside a new JFrame.
	 */
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.getContentPane().add(new NewJPanelPesquisas());
		frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}

	public NewJPanelPesquisas() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setPreferredSize(new Dimension(400, 300));
			this.setLayout(null);
			{
				btnListar = new JButton();
				this.add(btnListar);
				btnListar.setText("Listar as Ordens na Metinjo");
				btnListar.setBounds(12, 12, 145, 21);
				btnListar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						btnListarActionPerformed(evt);
					}
				});
			}
			{
				jTable = new JTable();
				this.add(jTable);
				jTable.setModel(baseTabela);
				jTable.setBounds(12, 44, 376, 244);
				jTable.setBorder(new LineBorder(new java.awt.Color(0, 0, 0), 1,
						false));
				jTable.setEnabled(false);
				jTable.setCellSelectionEnabled(true);
				jTable.setVisible(false);
				
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void btnListarActionPerformed(ActionEvent evt) {
		System.out.println("btnListar");
		try {
			CarregaLista();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void CarregaLista() throws Exception {
		jTable.setVisible(true);
		Class.forName("org.firebirdsql.jdbc.FBDriver");
		Connection con;
		con = DriverManager.getConnection("jdbc:firebirdsql:localhost:C:/CPS/Dados/teste.fdb","SYSDBA","masterkey");
		ResultSet rst;
		String sql;
		Statement st = con.createStatement();
		Vector<String[]> aux = new Vector<String[]>();

		sql = "Select tos.cod_cliente, tos_aux.n_desenho, tos_aux.n_os_cliente from tpro_pro, tos_aux, tos where tpro_pro.cod_os = tos_aux.cod_os and tpro_pro.cod_os = tos.codigo and tpro_pro.cod_os_aux = tos_aux.codigo and tos.aprovado = 1 and tos.concluido = 0 and tos.cancelado = 0 and tpro_pro.cod_tp_servico = 69 and (tpro_pro.finalizado = 0 or tpro_pro.finalizado is null) and (tpro_pro.hr_estimadas - tpro_pro.hs_realizadas) > 0 order by tpro_pro.cod_tp_servico";
		// Retorna um ResultSet
		rst = st.executeQuery(sql);

		String[] colunas = { "Cliente", "Desenho" };
		while (rst.next() && rst.getRow() > 0) {
			String[] linha = new String[2];
			linha[0] = rst.getString(1);
			linha[1] = rst.getString(2);
			aux.add(linha);
		}
		String[][] dados = new String[aux.size()][2];
		int i = 0;
		for (String[] linha : aux) {
			dados[i++] = linha;
		}
		baseTabela = new DefaultTableModel(dados, colunas);
		jTable.setModel(baseTabela);
		con.close();
	}

}