JAVA + ACCESS Classe de Conexão ...

Started by d3rf, 05 de June , 2006, 01:29:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

d3rf

Bem, ae vai uma classe de conexão do Java com o Access ...

/**
 * Desenvolvedor D3rf
 */

import java.sql.*;
import javax.swing.*;
/*
 Comando para importar pacotes
 */
public class ConexaoAcess {
    final private String DRV = "sun.jdbc.odbc.JdbcOdbcDriver";
    private String url= "jdbc:odbc:locadora";
    private String userName="";
    private String password="";
    private Connection conn;
    private Statement st;
    /* Declaração de variáveis para conexao
     * String DRV é o driver de conexao usado ODBC
     * String URL indica a fonte de dados onde haverá a conexao
     * para fazer essa fonte ... Paneil de Controle/Ferramentas Administrativas/ODBC
     * Adicionar "Driver do Microsoft Access" e ae vc escolhe seu arquivo mdb
     * String userName e Password, caso acha necessidade login no BD
     * variaveis conn e st sao interfaces
     */
    public ConexaoAcess (String url,String useName, String password){
        this.url= url;
        this.userName= userName;
        this.password=password;
    }
    /*
     * Método construtor, recebe 3 indicaçoes: fonte de dados (url)
     * nome do usuário() e password(); Um objeto da classe ConexaoAcess
     * pode informar esses dados quando for instanciado
     */
    public boolean conecta(){
        boolean result = true;       
        try {
          Class.forName(DRV); //Carrega o drive indicado em DRV
          conn = DriverManager.getConnection(url, userName, password);
          //Objeto (conn) para estabelecer a conexao (getConnection)
        }
        catch(java.lang.ClassNotFoundException erroClass){
            mensagemErro(erroClass.getMessage());
            result=false;
        }
        catch (SQLException erroSQL){
            mensagemErro(erroSQL.getMessage());
            result=false;
        }
        return result;
        /*
         * Método para  retornar se a conexao foi bem sucedida ou nao (result)
         *
         *
         */
    }
    public void desconecta(){
        boolean result = true;
        try{
            conn.close();
        }
        catch (SQLException erroSQL){
            mensagemErro(erroSQL.getMessage());
            result = false;
        }
    }
    public int regCount (String qry){
        int result=0;
        try{
            st = conn.createStatement();
            ResultSet rs = st.executeQuery(qry);
            rs.next();
            result=rs.getInt(1);
            st.close();
        }
        catch (SQLException sqlex){
            mensagemErro(sqlex.getMessage());
        }
        return result;
    }
    public int exeQuery(String qry){
        int result = 0;
        try{
            st = conn.createStatement();
            result = st.executeUpdate (qry);
            st.close();
        }
        catch (SQLException sqlex){
            mensagemErro(sqlex.getMessage());
        }
        return result;
    }
    public String getColumn(String qry){
        String result="";
        try{
            st = conn.createStatement();
            ResultSet rs = st.executeQuery(qry);
            rs.next();
            result=rs.getString(1);
            st.close();
        }
        catch(SQLException sqlex){
            mensagemErro(sqlex.getMessage());
        }
        return result;
    }
    public void getColumn(String qry,String[]reg){
        try{
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(qry);
            rs.next();
             for (int i = 1; i<= reg.length; i++)
             reg[i-1] = rs.getString(i);
            st.close();
        }
        catch (SQLException sqlex){
            mensagemErro(sqlex.getMessage());
        }
    }
    public void getColumn (String qry,String [][]reg, int lin){
        try {
        System.out.println();
        st = conn.createStatement();
        ResultSet rs= st.executeQuery (qry);
        for (int i=1; i<= lin; i++){
            if (rs.next())
            for (int n = 1; n<= reg[n].length; n++)
              reg[i-1][n-1] = rs.getString(n);
        }
        st.close();
        }
        catch(SQLException sqlex){
         mensagemErro(sqlex.getMessage());   
        }
    }
    private void mensagemErro (String msg){
        JOptionPane.showMessageDialog(
        null,
        msg,
        "Erro",
        JOptionPane.ERROR_MESSAGE);
    }

}


para conectar em outra classe
ConexaoAcess ac =  new ConexaoAcess("jdbc:odbc:locadora","","");
 ac.conecta() /conecta
ac.desconect()/Desconecta ... dã ...

d3rf

Fonte: JDBC Java
Autor: Ivan Mecenas ...

Código fonte desenvolvido por ele e alterado por mim ...

PS.: O edit esta fazendo falta ...

Alucard

Essa classe eu uso para conectar ao banco de daods....

Quote/*
 * Criado em 18/10/2006
 */

package dataBase;

import java.sql.*;
import javax.swing.*;

/**
 * @author Danilo Xavier
 * @mail alucar_dxs@hotmail.com
 *
 * Classe responsavel em gerar uma string de inclusao
 * e de incluir no banco de dados.
 * Exemplo de String: Insert Into Tabela (Campos) Values ('Valor');
 *
 */
public class StringIncluirSql extends DataBase {
   
   private String[] campos,
                    valores;
   
   private String incluirSqlCompleta,
                  nomeTabela;
   
   /** Construtor que nao executa nada.*/
   public StringIncluirSql() {
     
   }
   
   /** Gera a String de incluir no banco e inclui no banco.
    *  ex. Insert Into Tabela (Campos) Values ('Valor');
    *  na variavel incluirSqlCompleta;
    * @param tmpCampos Informe um vetor de campos.
    * @param tmpValores Informe o vetor de valores.
    * @param tmpNomeTabela Informe o nome da tabela.*/
   public StringIncluirSql(String[] tmpCampos, String tmpNomeTabela) {
      String str = "";
     
      campos = tmpCampos;
      nomeTabela = tmpNomeTabela;
   }
   
   // Pega um vetor e monta um string
   private String desmontarValores(String[] tmpValores) {
      String strValores = "";
     
      for(int i = 0; i < tmpValores.length; i++) {
         if((i + 1) == tmpValores.length) {
            strValores += tmpValores;
           
         } else {
            strValores += tmpValores + ", ";
         }
      }
     
      strValores += ")";     
      return(strValores);
   }
   
   /** Modifica a tabela de insercao.
    * @param tmpNomeTabela Informe o nome da tabela para insercao.*/
   public void setNomeTabela(String tmpNomeTabela) {
      nomeTabela = tmpNomeTabela;
   }
   
   /** Retorna o nome da tabela.
    * @return String Retorna o nome da tabela corrente.*/
   public String getNomeTabela() {
      return(nomeTabela);
   }
   
   /** Modifica a referencia do vetor campos. Onde armazena todos os campos da tabela.
    * @param tmpCampos Vetor que armazena todos os campos de uma tabela.*/
   public void setCampos(String[] tmpCampos) {
      campos = tmpCampos;
   }
   
   /** Retorna a referencia do vetor que armazena todos os campos.
    * @retun String[] Retorna a referencia do vetor que contem os campos.*/
   public String[] getCampos() {
      return(campos);
   }

   /** Modifica a referencia do vetor Valores. Onde armazena todos os Valores da tabela.
    * @param tmpValores Vetor que armazena todos os Valores de uma tabela.*/
   public void setValores(String[] tmpValores) {
      valores = tmpValores;
   }
   
   /** Retorna a referencia do vetor que armazena todos os Valores.
    * @retun String[] Retorna a referencia do vetor que contem os Valores.*/
   public String[] getValores() {
      return(valores);
   }
   
   /** Gera a string do Sql, na variavel incluirSqlCompleta.*/
   public void setIncluirSqlCompleta() {
      if(nomeTabela == null || nomeTabela == "") {
         incluirSqlCompleta = "";
         
      } else {         
         incluirSqlCompleta = "Insert Into " + nomeTabela + "(" + desmontarValores(campos) +
                             " Values (" + desmontarValores(valores) + ";";
      }
   }   
   
   /** Retorna a String incluirSqlCompleta, que armazena a string ja feita.
    * @return String Retorna a string ja feita em sql.*/
   public String getIncluirSqlCompleta() {
      return(incluirSqlCompleta);
   }
   
   /** Inclui no banco de dados a string incluirSqlCompleta.
    * @return boolean Se retornar true foi um sucesso, se nao fracassou.*/
   public boolean executa() {
       Statement instrucao;
       int resultado = 0;

       try {
           this.setIncluirSqlCompleta();
           
           instrucao = conecao.createStatement();
           resultado = instrucao.executeUpdate(incluirSqlCompleta);
           
       } catch (SQLException sqlex) {
           JOptionPane.showMessageDialog(null,
           sqlex.toString(), "Aviso",
           JOptionPane.WARNING_MESSAGE);

           return(false);
       }

       if(resultado == 1) {
           return(true);
 
       } else {
           return(false);
       }
   }
}

Agora para Encontrar dados

Quote/*
 * Criado em 18/10/2006
 *
 */

package string;

import java.sql.*;
import javax.swing.*;
import dataBase.DataBase;

/**
 * @author Danilo Xavier
 * @mail alucar_dxs@hotmail.com
 *
 * Classe responsavel em gerar uma string de alteracao
 * e de altera algum registro no banco de dados.
 * Exemplo de String: UpDate nomeTabela Set Campo = 'Valor' Where Nome Like 'Valor';
 *
 */
public class StringAlterarSql extends DataBase {   
   
    private String[] campos,
                     valores;
   
    private String alterarSqlCompleta,
                   nomeTabela,
                   where;
   
    /** Construtor que nao executa nada.*/
    public StringAlterarSql() {
       
    }
   
    /** Gera a String de alterar no banco e altera no banco.
     *  ex. UpDate nomeTabela Set Campo = 'Valor' Where Nome Like 'Danilo';
     *  na variavel alterarSqlCompleta;
     * @param tmpCampos Informe um vetor de campos.
     * @param tmpValores Informe o vetor de valores.
     * @param tmpNomeTabela Informe o nome da tabela.
     * @para tmpWhere Informe a codicao para a alteracao.*/
    public StringAlterarSql(String[] tmpCampos, String tmpNomeTabela) {
        String str = "";
       
        campos = tmpCampos;
        nomeTabela = tmpNomeTabela;
    }
   
    // Pega um vetor e monta um string
    private String desmontarValores(String[] tmpCampos, String[] tmpValores) {
        String str = "";
       
        if(tmpCampos.length != tmpValores.length) {
            return("");
        }
       
        for(int i = 0; i < tmpCampos.length; i++) {
            if((i + 1) == tmpCampos.length) {
                str += tmpCampos + " = " + tmpValores + " ";
               
            } else {
                str += tmpCampos + " = " + tmpValores + ", ";
            }
        }
       
        return(str);
    }
   
    /** Modifica a tabela de alteracao.
     * @param tmpNomeTabela Informe o nome da tabela para alteracao.*/
    public void setNomeTabela(String tmpNomeTabela) {
        nomeTabela = tmpNomeTabela;
    }
   
    /** Retorna o nome da tabela.
     * @return String Retorna o nome da tabela corrente.*/
    public String getNomeTabela() {
        return(nomeTabela);
    }
   
    /** Modifica a condicao da alteracao.
     * @param tmpWhere Informe a condicao de alteracao.*/
    public void setWhere(String tmpWhere) {
        where = tmpWhere;
    }
   
    /** Retorna a condicao de alteracao.
     * @return String Retorna a condicao de alteracao.*/
    public String getWhere() {
        return(where);
    }
   
    /** Modifica a referencia do vetor campos. Onde armazena todos os campos da tabela.
     * @param tmpCampos Vetor que armazena todos os campos de uma tabela.*/
    public void setCampos(String[] tmpCampos) {
        campos = tmpCampos;
    }
   
    /** Retorna a referencia do vetor que armazena todos os campos.
     * @retun String[] Retorna a referencia do vetor que contem os campos.*/
    public String[] getCampos() {
        return(campos);
    }
   
    /** Modifica a referencia do vetor Valores. Onde armazena todos os Valores da tabela.
     * @param tmpValores Vetor que armazena todos os Valores de uma tabela.*/
    public void setValores(String[] tmpValores) {
        valores = tmpValores;
    }
   
    /** Retorna a referencia do vetor que armazena todos os Valores.
     * @retun String[] Retorna a referencia do vetor que contem os Valores.*/
    public String[] getValores() {
        return(valores);
    }
   
    /** Gera a string do Sql, na variavel alterarSqlCompleta.*/
    public void setAlterarSqlCompleta() {
        if(nomeTabela == null || nomeTabela == "" || where == null || where == "") {
            alterarSqlCompleta = "";
           
        } else {
            alterarSqlCompleta = "UpDate " + nomeTabela + " Set " + desmontarValores(campos, valores) +
                    " Where " + where + ";";
        }
    }
   
    /** Retorna a String alterarSqlCompleta, que armazena a string ja feita.
     * @return String Retorna a string ja feita em sql.*/
    public String getAlterarSqlCompleta() {
        return(alterarSqlCompleta);
    }
   
    /** Altera no banco de dados o conteudo de alterarSqlCompleta.
     * @return boolean Se retornar true foi um sucesso, se nao fracassou.*/
    public boolean executa(){
        Statement instrucao;
        int resultado = 0;
       
        try {
            this.setAlterarSqlCompleta();
           
            instrucao = conecao.createStatement();
            resultado = instrucao.executeUpdate(alterarSqlCompleta);
           
        } catch(SQLException sqlex){
            JOptionPane.showMessageDialog(null,
                    sqlex.toString(), "Aviso",
                    JOptionPane.WARNING_MESSAGE);
           
            return(false);
        }
       
        if(resultado == 1){
            return(true);
           
        } else {
            return(false);
        }
    }
}

Agora para Excluir daods

Quote/*
 * Criado em 18/10/2006
 */

package string;

import java.sql.*;
import javax.swing.*;
import dataBase.DataBase;

/**
 * @author Danilo Xavier
 * @mail mailto:alucard_dxs@hotmail.com">alucard_dxs@hotmail.com
 *
 * Classe responsavel por gerar a String de exclusao no banco
 * de dados. Ex. Delete * From nomeTabela Where Nome Like 'Danilo';
 *
 */
public class StringExcluirSql extends DataBase {
   
    private String nomeTabela;
    private String excluirSqlCompleta,
            where;
   
    private ResultSet resultSet;
   
    /** Construtor que nao executa nada.*/
    public StringExcluirSql() {
       
    }
   
    /** Gera a String de excluir no banco e exclui no banco.
     *  ex. Delete * From nomeTabela Where Nome Like 'Danilo';
     *  na variavel excluirSqlCompleta;
     * @param tmpWhere Informe a condicao de pesquisa.
     * @param tmpNomeTabela Informe o nome da tabela.*/
    public StringExcluirSql(String tmpNomeTabela) {
        String str = "";
       
        nomeTabela = tmpNomeTabela;
    }
   
    /** Modifica o nome da tabela.
     * @param tmpNomeTabela Informe o nome da tabela.*/
    public void setNomeTabela(String tmpNomeTabela) {
        nomeTabela = tmpNomeTabela;
    }
   
    /** Retorna o nome da tabela.
     * @return String Retorna o nome da tabela corrente.*/
    public String getNomeTabela() {
        return(nomeTabela);
    }
   
    /** Modifica a condicao da exclusao.
     * @param tmpWhere Informe a condicao da exclusao.*/
    public void setWhere(String tmpWhere) {
        where = tmpWhere;
    }
   
    /** Retorna a condicao de exclusao.
     * @return String Retorna a condicao de exclusao.*/
    public String getWhere() {
        return(where);
    }
   
    /** Gera a string do Sql, na variavel excluirSqlCompleta.*/
    public void setExcluirSqlCompleta() {
        if(where == null || nomeTabela == null || nomeTabela == "" || where == "") {
            excluirSqlCompleta = "";
           
        } else {
            excluirSqlCompleta = "Delete From " + nomeTabela + " Where " + where;
        }
    }
   
    /** Retorna a String excluirSqlCompleta, que armazena a string ja feita.
     * @return String Retorna a string ja feita em sql.*/
    public String getExcluirSqlCompleta() {
        return(excluirSqlCompleta);
    }
   
    /** Executa a exclusao no banco de dados.
     * @return boolean Se retornar true, foi um sucesso.*/
    public boolean executa(){
        Statement instrucao;
        int resultado = 0;
       
        try{
            this.setExcluirSqlCompleta();
           
            instrucao = conecao.createStatement();
            instrucao.executeQuery(excluirSqlCompleta);
           
            instrucao.close();
           
        } catch(SQLException sqlex){
            return(true);
        }
       
        JOptionPane.showMessageDialog(null,
                "Ocorreu um erro!" , "Aviso",
                JOptionPane.WARNING_MESSAGE);
       
        return(false);
    }
}