Amigos,
Acabo de instalar o J2SE 5.0 - e o Jaybird (Con o classPath todo configurado)
Mas não estou conseguindo conectar com o banco de dados, ao compilar o cógido esta aparecendo a seguinte mensagem:
--------------------Configuration: --------------------
Note: C:\Java\ApJava.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Java\ApJava.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Process completed.
E não conecta no banco de daddos, segue o código:
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.sql.;
import java.util.*;
public class ApJava extends JFrame {
private Connection conApJava; // Conexão que será criada com o banco
private JTable vTabela; // Tabela onde os registros serão inseridos
private JMenuBar barPrincipal; // Menu da aplicação
private JMenu mnuOpcoes;
private JMenuItem itens;
public ApJava()
{
componentes();
// sUrl especifica o banco de dados ao qual o programa se conecta, usando JDBC
// para conectar um banco de dados Interbase
String sUrl = “jdbc:firebirdsql:localhost/3050:c:/Java/ApJava.gdb”;
String vUsuario = “SYSDBA”;
String vSenha = “masterkey”;
// Carrega o Driver JDBC e abre a conexão com o banco
try{
Class.forName(“org.firebirdsql.jdbc.FBDriver”);
conApJava = DriverManager.getConnection(sUrl, vUsuario, vSenha);
}
catch(ClassNotFoundException cnfex){ // Excessões geradas
String Msg = “Impossível carregar o seguinte driver JDBC: " + cnfex.getMessage() + “\nSe o mesmo estiver instalado favor verificar a variável de ambiente CLASSPATH\n\n”;
String Titulo = " Erro ao carregar Driver JDBC”;
// cnfex.getMessage() => retorna interbase.interclient.Driver
JOptionPane.showMessageDialog(null, Msg , Titulo, JOptionPane.WARNING_MESSAGE);
System.exit(1); // termina o programa
}
catch(SQLException sqlex){
String Msg = “Não foi possível conectar o banco de dados …”;
String Titulo = " Erro ao tentar conectar base de dados !";
JOptionPane.showMessageDialog(null, Msg , Titulo, JOptionPane.WARNING_MESSAGE);
sqlex.printStackTrace();
}
getTable();
resize(500, 300);
setLocation(50, 50);
show();
}
public void componentes(){ // Contrói a interface da aplicação{ Menu }
JMenuBar mnubarJavaxe;
JMenu mnuArquivo, mnuAjuda, AjuJavaxe;
JMenuItem ArqFechar;
JMenuItem AjuSobre;
mnubarJavaxe = new JMenuBar(); // Adcionando a barra de menus
setJMenuBar(mnubarJavaxe);
// Menu Arquivo
mnuArquivo = new JMenu(“Arquivo”, true); // Criando o menu
mnuArquivo.setMnemonic(‘v’);
mnubarJavaxe.add(mnuArquivo);
ArqFechar = new JMenuItem("Fechar");
ArqFechar.setMnemonic('F');
ArqFechar.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent e){
System.exit(0);
}
}
);
mnuArquivo.add(ArqFechar);
// Menu Ajuda
mnuAjuda = new JMenu(“Ajuda”);
mnuAjuda.setMnemonic(‘d’);
mnubarJavaxe.add(mnuAjuda);
AjuSobre = new JMenuItem("Sobre Javaxe InterBase Access");
AjuSobre.setMnemonic('S');
AjuSobre.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent e){
}
}
);
mnuAjuda.add(AjuSobre);
}
private void getTable(){
Statement smtp;
ResultSet consApJava;
try{ // Gera a Query para o banco
String consulta = "SELECT * FROM TBLDADOS";
smtp = conApJava.createStatement();
consApJava = smtp.executeQuery(consulta);
PrintQuery(consApJava);
smtp.close();
}
catch (SQLException sqlex){ // Erro ao executar a Query no banco
sqlex.printStackTrace();
}
}
private void PrintQuery(ResultSet rs) throws SQLException{
// posiciona-se no primeiro registro
boolean registro = rs.next();
// Se não houver registros exibe mensagem
if (!registro){
JOptionPane.showMessageDialog(null, "Consulta não retornou nenhum valor" , " Registro vazio", JOptionPane.WARNING_MESSAGE);
return;
}
setTitle("Javaxe Interbase Access 1.08, Copyright Javaxe ®");
Vector colunas = new Vector();
Vector linhas = new Vector();
try{
// Obtém a estrutura da tabela do banco, que será adcionado a tabela
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
colunas.addElement( rsmd.getColumnName(i) );
// Obtém dados da linha
do{
linhas.addElement(getNextRow(rs,rsmd));
} while (rs.next());
// Cria tabela e exibe o conteúdo do ResultSet
vTabela = new JTable(linhas, colunas);
JScrollPane scroller = new JScrollPane(vTabela);
getContentPane().add(
scroller, BorderLayout.CENTER
);
validate();
}
catch(SQLException sqlex){
sqlex.printStackTrace();
}
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd) throws SQLException{
Vector curLinha = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i)
switch (rsmd.getColumnType(i)){
case Types.VARCHAR:
curLinha.addElement(rs.getString(i));
break;
case Types.INTEGER:
curLinha.addElement(new Long(rs.getLong(i)));
break;
default:
System.out.println("Tipo era: " + rsmd.getColumnTypeName(i));
}
return curLinha;
}
public void shutDown(){
try{ // Fecha a conexão co o banco de dados
conApJava.close();
}
catch(SQLException sqlex){ // Não foi possível fechar a conexão
System.err.println(“Erro ao fechar conexão com o banco…”);
sqlex.printStackTrace();
}
}
public static void main( String args[] )
{
final ApJava app = new ApJava();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}