1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

DAO tem que ser diferente se for banco deferente ?

Olá pessoa estou com uma tela de cadastro de produtos que conecta com o Banco MySql que esta funcionando perfeita mente e tenho o mesmo condigo em outro projeto pra conectar com o Firebird mais ja com o firebird sempre apresenta um erro, tem que ser mudado alguma coisa ?

package br.com.smartsys.conexao;

/ To change this template, choose Tools | Templates and open the template in the editor. / import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane;

public class CnxFirebird {

private Connection con = null; //variavel para conexao private Statement statement; private ResultSet resultSet;

private final String databaseURL = "jdbc:firebirdsql:localhost/3050:C:/Smartsys/DB/BANCO_SMARTSYS.FDB"; private final String user = "sysdba"; private final String password = "masterkey"; private final String driverName = "org.firebirdsql.jdbc.FBDriver";

/* Abre uma conexao com o banco */ public void conectar() { try { Class.forName(driverName).newInstance(); this.con = DriverManager.getConnection(databaseURL, user, password); System.out.println("Conexão obtida com sucesso ."); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); }

}

public void executarSQL(String sql) { try { this.statement = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); this.resultSet = this.statement.executeQuery(sql); } catch (SQLException sqlex) { sqlex.printStackTrace(); } }

public void executarUpdateSQL(String sql) { try { this.statement = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); this.statement.executeUpdate(sql);

} catch (SQLException sqlex) { sqlex.printStackTrace(); } }

/* Executa insert SQL @param pSQL @return boolean / public int insertSQL(String pSQL) { int idRetorno = 0; try { this.statement = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); this.resultSet = this.statement.executeQuery(pSQL);

while (this.getResultSet().next()) { idRetorno = this.getResultSet().getInt(1); }

} catch (SQLException sqlex) { sqlex.printStackTrace(); } return idRetorno; }

/* encerra a conexão corrente @return boolean */ public boolean fecharConexao() { try { if ((this.getResultSet() != null) && (this.statement != null)) { this.getResultSet().close(); this.statement.close(); } this.getCon().close(); return true; }catch (SQLException e) { JOptionPane.showMessageDialog(null, e.getMessage()); } return false; }

/* @return the statement */ public Statement getStatement() { return statement; }

/* @return the resultSet */ public ResultSet getResultSet() { return resultSet; }

/* @return the con */ public Connection getCon() { return con; }

/* @param con the con to set */ public void setCon(Connection con) { this.con = con; }

/* @param statement the statement to set */ public void setStatement(Statement statement) { this.statement = statement; }

/* @param resultSet the resultSet to set */ public void setResultSet(ResultSet resultSet) { this.resultSet = resultSet; } }

e aqui esta meu DAO

package br.com.smart.dao;

import java.sql.; import javax.swing.; public class ProdutoDAO

{ final private String driver = "org.firebirdsql.jdbc.FBDriver"; final private String url = "jdbc:firebirdsql:localhost/3050:C:/Smartsys/DB/BANCO_SMARTSYS.FDB"; final private String usuario = "SYSDBA"; final private String senha = "masterkey"; private Connection conexao; public Statement statement; public ResultSet resultset;

public boolean conecta() { boolean result = true; try { Class.forName(driver); conexao = DriverManager.getConnection(url, usuario, senha); //JOptionPane.showMessageDialog(null,"conectou legal com o Firebird"); } catch(ClassNotFoundException Driver) { JOptionPane.showMessageDialog(null,"Não conectou legal com o Firebird"+Driver); result = false; } catch(SQLException Fonte) { JOptionPane.showMessageDialog(null,"Deu Erro com o Firebird"+ "Com a Fonte de Dados"+Fonte); result = false; } return result; }

public void desconecta() { boolean result = true; try { conexao.close(); JOptionPane.showMessageDialog(null,"Banco Fechado"); } catch(SQLException fecha) { JOptionPane.showMessageDialog(null,"Não foi possivel"+ "Fechar o banco de dados"+fecha); result = false; } } public void executeSQL(String sql) { try { statement = conexao.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); resultset = statement.executeQuery(sql); } catch(SQLException sqlex) { JOptionPane.showMessageDialog(null, "Não Foi possivel"+ "executar o comando sql"+sqlex+", i SQL passado foi"+sql); }

} }

  • Está meio confuso, tente formatar o código que você postou e se possível publique o erro que da.

    Bruno Santiago   09 de mar de 2016
  • Mas qual erro que ocorre? Daria para publicar a mensagem de erro? E se possível, formata esse seu código porque está dificil de ler.

    romarcio   10 de mar de 2016
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java dao ou faça a sua própria pergunta.