Pessoal,
Sou altamente novato em JAVA :grin:
O código que vou postar, peguei aqui mesmo no forum e ja revirei todo o forum em busca de respostas sobre o mesmo, mas ainda tá dando erro... Já fiz de tudo, joguei os arquivos .jar na pasta da "aplicacao", alterei de todas as formas o CLASS_PATH, e outras artimanhas...
O erro que dá eh esse:
Falha ao Carregar o Driver JDBC
java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at TestarConexao.<init>(TestarConexao.java:20)
at TestarConexao.main(TestarConexao.java:129)
Press any key to continue...
O código é esse:
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class TestarConexao extends JFrame {
private Connection conn;
private JTable table;
public TestarConexao() {
String url = "jdbc:firebirdsql:localhost/3050:D:/Java/Projeto/_DB/PROJETO.FDB";
String username = "SYSDBA";
String password = "masterkey";
// Carrega o driver para permitir conexão ao banco de dados
try{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection(url, username, password);
}
catch(ClassNotFoundException cnfex){
System.err.println("Falha ao Carregar o Driver JDBC");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex){
System.err.println("Nao pode conectar");
sqlex.printStackTrace();
}
getTable();
setSize(450, 150);
show();
}
private void getTable() {
Statement statement;
ResultSet resultSet;
try {
String query = "SELECT * FROM GENERO";
statement = conn.createStatement();
resultSet = statement.executeQuery(query);
displayResultSet(resultSet);
statement.close();
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
private void displayResultSet(ResultSet rs)
throws SQLException {
// posiciona para o primeiro registro
boolean moreRecords = rs.next();
// Se não houver registros, exibe uma mensagem
if (!moreRecords) {
JOptionPane.showMessageDialog(this, "Nenhum registro foi encontrado!");
setTitle( "Nenhum registro será exibido");
return;
}
setTitle("Cadastro de Gêneros" );
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
// obtém títulos de coluna
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement( rsmd.getColumnName( i ) );
// obtém dados da linha
do {
rows.addElement(getNextRow(rs,rsmd));
} while (rs.next());
// exibe a tabela com conteúdos de ResultSet
table = new JTable(rows, columnHeads);
JScrollPane scroller = new JScrollPane(table);
getContentPane().add(scroller, BorderLayout.CENTER);
validate();
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException {
Vector currentRow = new Vector();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
switch( rsmd.getColumnType( i ) ) {
case Types.VARCHAR:
currentRow.addElement(rs.getString(i)); break;
case Types.INTEGER:
currentRow.addElement(new Long(rs.getLong(i))); break;
default: System.out.println("Tipo: " + rsmd.getColumnTypeName(i));
}
return currentRow;
}
public void shutDown() {
try {
conn.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Impossível Conectar" );
sqlex.printStackTrace();
}
}
public static void main(String args[]) {
final TestarConexao app = new TestarConexao();
app.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
app.shutDown();
System.exit(0);
}
});
}
}
