Advertisement
Guest User

Untitled

a guest
Jan 28th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.12 KB | None | 0 0
  1. package ChinczykSerwer;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8.  
  9. import javax.swing.JOptionPane;
  10. import javax.swing.JTextArea;
  11.  
  12. /*
  13.    Klasa która przechowuje informacje o połączeniu z bazą
  14.  */
  15. class InfoPolaczenie{
  16.  
  17.     static final String host = "127.0.0.1";
  18.     static final int port = 1521;
  19.     static final String database = "XE";
  20.     static final String user = "SYSTEM";
  21.     static final String password = "japoneczki9980c";
  22. }
  23.  
  24. /*
  25.    Klasa której obiekt nawiązuje połączenie z bazą
  26.  */
  27. public class BazaPolaczenie {
  28.     /*
  29.        Zmienna w której przechowywane jest połączenie
  30.      */
  31.    
  32.     Connection connection;
  33.    
  34.     /*
  35.        Konstruktor wypisuje połączono z bazą lub błąd
  36.        j JTextArea na który będzie wypisywać informacje
  37.      */
  38.     BazaPolaczenie(JTextArea j){   
  39.         try {          
  40.             this.connection = DriverManager.getConnection("jdbc:oracle:thin:@"+InfoPolaczenie.host+":"+InfoPolaczenie.port+":xe",InfoPolaczenie.user,InfoPolaczenie.password);  
  41.             j.setText("Połączono z Bazą!");
  42.         } catch (SQLException e) {
  43.             j.setText(j.getText()+"Bład przy łączeniu z bazą");
  44.             JOptionPane.showMessageDialog(null, "Bład przy łączeniu z bazą! Serwer zostanie wyłączony!");
  45.             System.exit(1);
  46.         }
  47.     }
  48.    
  49.     /*
  50.        Funkcja która sprawdza czy jest dany gracz w bazie
  51.        conn Połączenie z bazą danych
  52.        login login gracza
  53.        haslo haslo gracza  
  54.        return true/false
  55.      */
  56.     boolean czyJestGraczZaloguj(Connection conn,String login, String haslo){
  57.         try (Statement st = conn.createStatement();
  58.              ResultSet resultSet = st.executeQuery("SELECT id_gracza FROM GRACZE WHERE login='"+login+"' AND haslo='"+haslo+"'")) {        
  59.             if(resultSet.next())
  60.                 return true;
  61.             else return false;
  62.         } catch (SQLException e) {
  63.             return false;
  64.         }
  65.     }
  66.  
  67.     /*
  68.        Funkcja która zwraca id gracza o podanym loginie
  69.        conn Połączenie z bazą danych
  70.        login login gracza    
  71.        return int
  72.      */
  73.     int zwrocIdekGracza(Connection conn,String login){
  74.         try (Statement st = conn.createStatement();
  75.              ResultSet resultSet = st.executeQuery("SELECT id_gracza FROM GRACZE WHERE login='"+login+"'")) {          
  76.            
  77.             if(resultSet.next())
  78.                 return resultSet.getInt("id_gracza");
  79.             else return -1;
  80.  
  81.         } catch (SQLException e) {
  82.             return -1;
  83.         }
  84.     }
  85.    
  86.     /*
  87.        Funkcja wpisuje gre do historii gier
  88.        conn Połączenie z bazą danyc
  89.        return true/false
  90.      */
  91.     boolean wpiszHistoriaGier(Connection conn){
  92.         Statement st = null;
  93.         try {
  94.             st = conn.createStatement();
  95.             st.execute("INSERT INTO Historia_gier VALUES(seq_historia_gier.nextval,SYSDATE)");
  96.             st.close();
  97.         } catch (SQLException e) {
  98.             return false;
  99.         }              
  100.        
  101.         return true;
  102.     }
  103.    
  104.     /*
  105.        Funkcja wpisuje rozgrywkę danego gracza do Gier_gracza
  106.        conn Połączenie z bazą danych
  107.        idGracza id gracza jakiemu nalezy wpisać grę
  108.        z zwyciestwo ( 0-nie/1-tak ) gracza
  109.        kolor kolor gracza
  110.        return true/false
  111.      */
  112.     boolean wpiszGryGracza(Connection conn,int idGracza,int z,String kolor){
  113.         Statement st = null;
  114.         try {
  115.              st = conn.createStatement();
  116.              ResultSet resultSet = st.executeQuery("SELECT id_gry FROM Historia_gier WHERE ROWNUM<=1 ORDER BY id_gry DESC");
  117.              resultSet.next();
  118.            
  119.              int idHistGier= resultSet.getInt("id_gry");
  120.              System.out.println(idHistGier);
  121.              st.execute("INSERT INTO Gry_Gracza VALUES ("+idHistGier+","+idGracza+","+z+",'"+kolor+"')");
  122.              
  123.              st.close();
  124.         } catch (SQLException e) {
  125.             return false;
  126.         }              
  127.        
  128.         return true;
  129.     }
  130.    
  131.     /*
  132.        Funkcja która pobiera ostatnich zwycięzców
  133.        conn Połączenie z bazą danych
  134.        return String
  135.     */
  136.     String OstatniZwyciezcy(Connection conn){
  137.         String zwyciezcy="";
  138.         try (Statement st = conn.createStatement();
  139.              ResultSet resultSet = st.executeQuery("SELECT login FROM Gracze, Gry_gracza WHERE zwyciezca=1 AND Gracze.id_gracza=Gry_gracza.id_gracza AND ROWNUM<=5")) {        
  140.             while(resultSet.next()){
  141.                 zwyciezcy+=resultSet.getString("login")+" ";
  142.  
  143.             }
  144.         } catch (SQLException e) {
  145.             return "Blad";
  146.         }  
  147.         return zwyciezcy;
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement