Advertisement
Guest User

DatabaseEngine

a guest
Mar 31st, 2014
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.87 KB | None | 0 0
  1. package database;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DatabaseMetaData;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12. import FileHandlers.Preferences;
  13.  
  14.  
  15. public class DatabaseEngine {
  16.  
  17.     private Connection con;
  18.     private ResultSet rs;
  19.     Preferences pref = new Preferences();
  20.  
  21.     public void connect(String dbFile, String dbPass) {
  22.         String url;
  23.         try {
  24.             Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
  25.         } catch (ClassNotFoundException ex) {
  26.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  27.         }
  28.         try {
  29.             con = DriverManager.getConnection("jdbc:ucanaccess://" + dbFile + ";jackcessOpener=database.CryptCodecOpener", "", dbPass);
  30.         } catch (SQLException ex) {
  31.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  32.         }
  33.     }
  34.  
  35.     public PreparedStatement prepareStatement(String sql) {
  36.         PreparedStatement stmt;
  37.         connect(pref.getPreference("dbFileName"), pref.getPreference("dbPassword"));
  38.         try {
  39.             stmt = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
  40.             return stmt;
  41.         } catch (SQLException ex) {
  42.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  43.         }
  44.         return null;
  45.     }
  46.  
  47.     public void execute(String sql) {
  48.         Statement stmt;
  49.         connect(pref.getPreference("dbFileName"), pref.getPreference("dbPassword"));
  50.         try {
  51.             stmt = con.createStatement();
  52.             stmt.execute(sql);
  53.             stmt.close();
  54.         } catch (SQLException ex) {
  55.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  56.         }
  57.     }
  58.  
  59.     public void executeUpdate(PreparedStatement stmt) {
  60.         try {
  61.             stmt.executeUpdate();
  62.         } catch (SQLException ex) {
  63.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  64.         }
  65.     }
  66.  
  67.     public ResultSet fetchResults(PreparedStatement stmt) {
  68.         try {
  69.             rs = stmt.executeQuery();
  70.         } catch (SQLException ex) {
  71.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  72.         }
  73.         return rs;
  74.     }
  75.  
  76.     public ResultSet getTableMetaData(String table) {
  77.         connect(pref.getPreference("dbFileName"), pref.getPreference("dbPassword"));
  78.         try {
  79.             DatabaseMetaData meta = con.getMetaData();
  80.             rs = meta.getTables(null, null, table, null);
  81.         } catch (SQLException ex) {
  82.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  83.         }
  84.         return rs;
  85.     }
  86.  
  87.     public boolean testConnection(String filename, String pass) {
  88.         connect(filename, pass);
  89.         try {
  90.             Statement stmt = con.createStatement();
  91.             stmt.executeQuery("SELECT * FROM events");
  92.         } catch (SQLException ex) {
  93.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  94.             return false;
  95.         }
  96.         return true;
  97.     }
  98.  
  99.     public void closeConnection() {
  100.         try {
  101.             con.close();
  102.             rs.close();
  103.         } catch (SQLException ex) {
  104.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  105.         }
  106.     }
  107.    
  108.     public void closeConnection(PreparedStatement stmt) {
  109.         try {
  110.             stmt.close();
  111.             con.close();
  112.             rs.close();
  113.         } catch (SQLException ex) {
  114.             Logger.getLogger(DatabaseEngine.class.getName()).log(Level.SEVERE, null, ex);
  115.         }
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement