Duvida com banco de dados access

4 respostas
G

Bem galera estou com um probleminha com o banco de dados access estou tentando gravar no mesmo porem esta dando erro se alguem puder me ajudar.

public Connection Conectar() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
             Connection con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/Cadastro.mdb","","");
             return con;
    }

    public void inserir(Cliente obj) throws SQLException
    {
        try {
            Connection con = Conectar();
            String sql = "insert into Cadastro values (null,?,?,?,?,?,?,?,?,?,?,?) ";
            PreparedStatement pst = con.prepareStatement(sql);
             Calendar cal = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm");
            String data = sdf.format(cal.getTime());
            pst.setString(1, obj.getArea1());
            pst.setString(2, obj.getArea2());
            pst.setString(3, obj.getArea3());
            pst.setString(4, obj.getArea4());
            pst.setString(5, obj.getArea5());
            pst.setString(6, data);
            pst.setString(7, obj.getEmail());
            pst.setString(8, obj.getEmpresa());
            pst.setString(9, EventStatic.getInstance().getEvento());
            pst.setString(10, obj.getFone());
            pst.setString(11, obj.getNome());
            pst.executeUpdate();
            pst.close();
            con.close();
        } catch (InstantiationException ex) {
            Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

ta dando esse erro

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] N?o foi poss?vel encontrar o arquivo '(desconhecido)'.

4 Respostas

renamed

Seu arquivo esta no lugar correto?

D
[quote]

public Connection Conectar() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException{

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();

Connection con = DriverManager.getConnection(“jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};[color=red]DBQ=C:/Cadastro.mdb”,"","");   [/color]

return con;

}
public void inserir(Cliente obj) throws SQLException

{

try {

Connection con = Conectar();

String sql = "insert into Cadastro values (null,?,?,?,?,?,?,?,?,?,?,?) ";

PreparedStatement pst = con.prepareStatement(sql);

Calendar cal = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat(dd/MM/yyyy hh:mm);

String data = sdf.format(cal.getTime());

pst.setString(1, obj.getArea1());

pst.setString(2, obj.getArea2());

pst.setString(3, obj.getArea3());

pst.setString(4, obj.getArea4());

pst.setString(5, obj.getArea5());

pst.setString(6, data);

pst.setString(7, obj.getEmail());

pst.setString(8, obj.getEmpresa());

pst.setString(9, EventStatic.getInstance().getEvento());

pst.setString(10, obj.getFone());

pst.setString(11, obj.getNome());

pst.executeUpdate();

pst.close();

con.close();

} catch (InstantiationException ex) {

Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);

} catch (ClassNotFoundException ex) {

Logger.getLogger(CadastroDao.class.getName()).log(Level.SEVERE, null, ex);

}

}

Sei lá mais tenta colocar barra ao contrario

G

Consegui fazer a conexao porem estou com a seguinte duvida pois eu estou tentando inserir mas pelo que eu vi o access nao faz inserção automatica da chave primaria dai estou tentando buscar o codigo mais alto possivel so que esta dando erro

Connection con = Conectar(); String sql = "select max(Código) from Cadastro"; Statement st = con.createStatement(); ResultSet rs = st.executeQuery(sql); int codigo = rs.getInt("Código"); st.close(); rs.close(); con.close(); return codigo;

thiago_spdvr

Sujestão:
Não da pra usar o mysql ?

Criado 14 de dezembro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 4
Participantes 4