Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
MyBancoCredito - Jdbmanager.java

Jdbmanager.java

Caricato da: Bonny
Scarica il programma completo

  1. package jcredito;
  2. import java.awt.*;
  3. import java.io.*;
  4. import java.sql.*;
  5. import java.util.*;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8. import javax.swing.*;
  9.  
  10. public class Jdbmanager {
  11.  
  12.     private String url = "jdbc:odbc:Archivio";
  13.     private Connection con;
  14.     private Statement stmt;
  15.     private ResultSet rs;
  16.  
  17.     public Jdbmanager() {
  18.         try {
  19.             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  20.         } catch (ClassNotFoundException ex) {
  21.             regLog("SQLException: " + ex.getMessage());
  22.         }
  23.     }
  24.  
  25.     private void regLog(String msg) {
  26.  
  27.         PrintWriter f = null;
  28.         try {
  29.             f = new PrintWriter(new FileWriter("log.txt", true));
  30.             GregorianCalendar gc = new GregorianCalendar();
  31.             int hh = gc.get(Calendar.HOUR_OF_DAY);
  32.             int mm = gc.get(Calendar.MINUTE);
  33.             int day = gc.get(Calendar.DATE);
  34.             int mese = gc.get(Calendar.MONTH);
  35.             int anno = gc.get(Calendar.YEAR);
  36.             f.println("-----------------------------------------------------------------------------------");
  37.             f.println("- Data: " + day + "/" + mese + "/" + anno);
  38.             f.println("- Ora: " + hh + ":" + mm);
  39.             f.println(msg);
  40.             f.println("-----------------------------------------------------------------------------------");
  41.         } catch (IOException ex) {
  42.             Logger.getLogger(Jdbmanager.class.getName()).log(Level.SEVERE, null, ex);
  43.         } finally {
  44.             f.close();
  45.         }
  46.     }
  47.  
  48.     public boolean reg(Utente T) {
  49.  
  50.         boolean x = true;
  51.         try {
  52.             con = DriverManager.getConnection(url);
  53.             stmt = con.createStatement();
  54.             rs = stmt.executeQuery("SELECT Nk FROM Utente");
  55.             while (rs.next()) {
  56.                 if (T.getNk().equals(rs.getString("Nk"))) {
  57.                     x = false;
  58.                 }
  59.             }
  60.             if (x) {
  61.                 stmt.executeUpdate("INSERT INTO Utente (Nk,Psw,SaldoTot) VALUES ('" + T.getNk() + "','" + T.getPsw() + "','" + T.getCr() + "')");
  62.             }
  63.             con.close();
  64.         } catch (SQLException ex) {
  65.             regLog("SQLException: " + ex.getMessage());
  66.         }
  67.         return x;
  68.     }
  69.  
  70.     public boolean login(Utente T) {
  71.  
  72.         boolean x = false;
  73.         try {
  74.             con = DriverManager.getConnection(url);
  75.             stmt = con.createStatement();
  76.             rs = stmt.executeQuery("SELECT Nk,Psw FROM Utente");
  77.             while (rs.next()) {
  78.                 if (T.getNk().equals(rs.getString("Nk")) && T.getPsw().equals(rs.getString("Psw"))) {
  79.                     x = true;
  80.                 }
  81.             }
  82.             con.close();
  83.         } catch (SQLException ex) {
  84.             regLog("SQLException: " + ex.getMessage());
  85.         }
  86.         return x;
  87.     }
  88.  
  89.     public boolean upDate(String user, String data, long imp, String tipo, String des) {
  90.         try {
  91.             con = DriverManager.getConnection(url);
  92.             stmt = con.createStatement();
  93.             stmt.executeUpdate("INSERT INTO Manovra (Nkrif,Tipo,Importo,Data,Descrizione) VALUES ('" + user + "','" + tipo + "','" + imp + "','" + data + "','" + des + "')");
  94.             if ("Versamento".equals(tipo)) {
  95.                 stmt.executeUpdate("UPDATE Utente SET SaldoTot = SaldoTot +" + imp + " WHERE Nk = '" + user + "'");
  96.             } else {
  97.                 stmt.executeUpdate("UPDATE Utente SET SaldoTot = SaldoTot -" + imp + " WHERE Nk = '" + user + "'");
  98.             }
  99.             con.close();
  100.             return true;
  101.         } catch (SQLException ex) {
  102.             regLog("SQLException: (Utente: " + user + ") " + ex.getMessage());
  103.             return false;
  104.         }
  105.     }
  106.  
  107.     public boolean delete(String x) {//da finire
  108.         try {
  109.             con = DriverManager.getConnection(url);
  110.             stmt = con.createStatement();
  111.             stmt.executeUpdate("DELETE FROM Utente WHERE Nk = '" + x + "'");
  112.             con.close();
  113.             return true;
  114.         } catch (SQLException ex) {
  115.             regLog("SQLException: " + ex.getMessage());
  116.             return false;
  117.         }
  118.     }
  119.  
  120.     public JPanel table(String user) {
  121.      
  122.         Vector columnNames = new Vector();
  123.         columnNames.addElement("Tipo manovra");
  124.         columnNames.addElement("Importo");
  125.         columnNames.addElement("Data");
  126.         columnNames.addElement("Descizione");
  127.         Vector data = new Vector();
  128.         try {
  129. // Connect to the Database
  130.             con = DriverManager.getConnection(url);
  131.             stmt = con.createStatement();
  132. // Read data from a table
  133.             rs = stmt.executeQuery("SELECT Nkrif,Tipo,Importo,Data,Descizione FROM Manovra WHERE Nkrif = '" + user + "' ORDER BY Data");
  134. // Get row data
  135.             while (rs.next()) {
  136.                 Vector row = new Vector(4);
  137.                 row.addElement(rs.getObject("Tipo"));
  138.                 row.addElement(rs.getObject("Importo"));
  139.                 row.addElement(rs.getObject("Data"));
  140.                 row.addElement(rs.getObject("Descrizione"));
  141.                 data.addElement(row);
  142.             }
  143.             //ultima riga contiene il saldo totale
  144.             rs = null;
  145.             rs = stmt.executeQuery("SELECT Nk,SaldoTot FROM Utente WHERE Nk = '" + user + "'");
  146.             rs.next();
  147.             Vector row = new Vector(4);
  148.             row.addElement("");
  149.             row.addElement(user);
  150.             row.addElement(" Totale Importo");
  151.             row.addElement(rs.getObject("SaldoTot"));
  152.             data.addElement(row);
  153.             //
  154.             rs.close();
  155.             stmt.close();
  156.         } catch (SQLException e) {
  157.             regLog("SQLException: " + e.getMessage());
  158.         }
  159.  
  160.         JTable table = new JTable(data, columnNames);
  161.         table.setCellSelectionEnabled(true);
  162.         //table.setPreferredScrollableViewportSize(new Dimension(400, 400));
  163.         JScrollPane scrollPane = new JScrollPane(table);
  164.         JPanel p = new JPanel();
  165.         p.setBackground(Color.blue);
  166.         p.add(scrollPane);
  167.  
  168.         return p;
  169.     }
  170.         public JPanel table(String user,String d1 ,String d2) {
  171.  
  172.         Vector columnNames = new Vector();
  173.         columnNames.addElement("Tipo manovra");
  174.         columnNames.addElement("Importo");
  175.         columnNames.addElement("Data");
  176.         columnNames.addElement("Descizione");
  177.         Vector data = new Vector();
  178.         try {
  179. // Connect to the Database
  180.             con = DriverManager.getConnection(url);
  181.             stmt = con.createStatement();
  182. // Read data from a table
  183.             rs = stmt.executeQuery("SELECT Nkrif,Tipo,Importo,Data,Descrizione FROM Manovra WHERE Data BETWEEN '" + d1 + "' AND '" + d2 + "' AND Nkrif = '" + user + "' ORDER BY Data");
  184. // Get row data
  185.             while (rs.next()) {
  186.                 Vector row = new Vector(4);
  187.                 row.addElement(rs.getObject("Tipo"));
  188.                 row.addElement(rs.getObject("Importo"));
  189.                 row.addElement(rs.getObject("Data"));
  190.                 row.addElement(rs.getObject("Descrizione"));
  191.                 data.addElement(row);
  192.             }
  193.             //ultima riga contiene il saldo totale
  194.             rs = null;
  195.             rs = stmt.executeQuery("SELECT Nk,SaldoTot FROM Utente WHERE Nk = '" + user + "'");
  196.             rs.next();
  197.             Vector row = new Vector(4);
  198.             row.addElement("");
  199.             row.addElement(user);
  200.             row.addElement(" Totale Importo");
  201.             row.addElement(rs.getObject("SaldoTot"));
  202.             data.addElement(row);
  203.             //
  204.             rs.close();
  205.             stmt.close();
  206.         } catch (SQLException e) {
  207.             regLog("SQLException: " + e.getMessage());
  208.         }
  209.  
  210.         JTable table = new JTable(data, columnNames);
  211.         table.setCellSelectionEnabled(true);
  212.         //table.setPreferredScrollableViewportSize(new Dimension(400, 400));
  213.         JScrollPane scrollPane = new JScrollPane(table);
  214.         JPanel p = new JPanel();
  215.         p.setBackground(Color.blue);
  216.         p.add(scrollPane);
  217.  
  218.         return p;
  219.     }
  220. }