Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lotto_bazy;
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- public class Database {
- public static Connection conn;
- public static Statement stat;
- /////////////////////////////////////////////////////////////////////////////////////////////// MAIN
- public static void main(String[] args) {
- String baza = "Nagrody";
- // Operacje oper= new Operacje();
- try {
- Class.forName("org.sqlite.JDBC");
- } catch (ClassNotFoundException e) {
- System.err.println("Brak sterownika JDBC");
- e.printStackTrace();
- }
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:"+baza+".db");
- stat = conn.createStatement();
- } catch (SQLException e) {
- System.err.println("Problem z otwarciem polaczenia");
- e.printStackTrace();
- }
- Database start = new Database();
- // start.dropDB();
- System.out.println("--Wcisnij [ 1 ] zeby stworzyc tabele z rekordami lub [ 2 ] aby wyjsc do menu--");
- Scanner odczyt = Scanner(System.in);
- String x= odczyt.nextLine();
- if(x == "1"){
- start.createTabele();
- start.read("lista_lotto.txt");
- }
- if(x == "2"){
- start.Menu();
- }
- }
- // throws SQLException
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void dropDB() {
- String win = "DROP TABLE if EXISTS nagroda;";
- try{
- stat.execute(win);
- }
- catch (SQLException e) {
- e.printStackTrace();
- System.out.println("Blad przy tworzeniu tabeli!");
- }
- }
- // TWORZENIE TABELI
- public boolean createTabele(){
- String createNagroda="CREATE TABLE IF NOT EXISTS nagroda(id INTEGER PRIMARY KEY AUTOINCREMENT, kwota_wygranej DECIMAL(20,2), miasto VARCHAR(20) , ulica VARCHAR(40) default NULL, data VARCHAR(20));";
- // String createPunkt= "CREATE TABLE IF NOT EXISTS pkt_obslugi(id INTEGER PRIMARY KEY AUTOINCREMENT, miasto VARCHAR(30) , ulica VARCHAR(40) UNIQUE);";
- String zeroweK= "UPDATE nagroda SET ulica = 'BRAK' WHERE ulica IS NULL;";
- try{
- stat.execute(createNagroda);
- stat.execute(zeroweK);
- System.out.println("Stworzono tabele \n");
- return true;
- } catch (SQLException e) {
- e.printStackTrace();
- System.out.println("Blad przy tworzeniu tabeli!");
- return false;
- }
- }
- // ZCZYTYWANIE Z PLIKU
- String[][] read(String path) {
- BufferedReader br = null;
- List<String> line = new ArrayList<>();
- String baza = "Nagrody";
- try {
- Class.forName("org.sqlite.JDBC");
- } catch (ClassNotFoundException e) {
- System.err.println("Brak sterownika JDBC");
- e.printStackTrace();
- }
- try {
- conn = DriverManager.getConnection("jdbc:sqlite:"+baza+".db");
- stat = conn.createStatement();
- } catch (SQLException e) {
- System.err.println("Problem z otwarciem polaczenia");
- e.printStackTrace();
- }
- try {
- String CurrentLine;
- br = new BufferedReader(new FileReader(path));
- while ((CurrentLine = br.readLine()) != null) {
- line.add(CurrentLine);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (br != null) {
- br.close();
- }
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
- return sortFile(line);
- }
- private String[][] sortFile(List<String> lista)
- {
- String[][] line = new String[lista.size()][5];
- ;
- for(int i = 0; i < lista.size(); i++) {
- String[] zmienna = lista.get(i).split(" -- ");
- line[i][0] = zmienna[0];
- line[i][1] = zmienna[1];
- line[i][2] = zmienna[2];
- line[i][3] = zmienna[3];
- line[i][4] = zmienna[4];
- try {
- // String x=zmienna[0];
- String miasto= zmienna[1];
- String ulica= zmienna[2];
- String data= zmienna[3];
- String money= zmienna[4];
- String tab1=
- "insert into nagroda ( kwota_wygranej, miasto, ulica, data) values ('"+money+"','" +miasto+ "','"+ulica+"','"+data+"');";
- stat.execute(tab1);
- } catch (SQLException e) {
- System.err.println("Blad przy wstawianiu nagrody");
- e.printStackTrace();
- System.out.println(line[i][0]);
- }
- }
- return line;
- }
- private static Scanner Scanner(InputStream in) {
- // TODO Auto-generated method stub
- return null;
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////////
- public void Menu(){
- System.out.print(
- "0- Wyjscie z programu \n"
- + "1- Wyswietlenie wszystkich wynikow \n"
- + "2- Wybor, jakie wyniki chcesz wyswietlic \n"
- + "3- Miasto z najwieksza liczba wygranych \n"
- + "4- Adres punktu gdzie bylo najwiecej wygranych \n"
- + "5- Porownanie miast i ich zsumowane wysokosci nagrod \n"
- + "6- Wyswietlenie nowo powstalych tabel \n"
- + "7- \n"
- + "8- Dodaj nowy rekord \n"
- );
- Scanner odczyt= new Scanner(System.in);
- int i;
- i= odczyt.nextInt();
- switch (i){
- case(1):{ case1(); }
- case(2):{ case2(); }
- case(3):{ case3(); }
- case(4):{ case4(); }
- case(5):{ case5(); }
- case(6):{ case6(); }
- case(7):{ case7(); }
- case(8):{ case8(); }
- case(9):{ case9(); }
- case(0):{ closeConnection(); System.exit(0); }
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////
- void case1(){
- try {
- ResultSet result = stat.executeQuery("SELECT * FROM nagroda;");
- int id;
- String kwota_wygranej;
- String miasto;
- String ulica;
- String data;
- while(result.next()) {
- id = result.getInt("id");
- kwota_wygranej = result.getString("kwota_wygranej");
- miasto = result.getString("miasto");
- ulica = result.getString("ulica");
- data = result.getString("data");
- System.out.println("id="+id+" Wygrana = "+kwota_wygranej+" Miasto = "+miasto+" Ulica = "+ulica+" Data = "+data+"\n");
- }
- } catch (SQLException e) {
- System.err.println("Blad przy wykonywaniu SELECT");
- e.printStackTrace();
- }
- Menu();
- }
- //-----------------------------------------------------------------------------------------------
- void case2(){
- System.out.println("Jakie wyniki ma wyswietlic zapytanie SELECT? Zapytanie ma byc napisane jak komenda w sql! \n");
- Scanner odczyt= new Scanner(System.in);
- String x= odczyt.nextLine();
- try {
- ResultSet result = stat.executeQuery(x);
- int id;
- String kwota_wygranej;
- String miasto;
- String ulica;
- String data;
- while(result.next()) {
- }
- } catch (SQLException e) {
- System.err.println("Blad przy wykonywaniu SELECT");
- e.printStackTrace();
- }
- }
- //---------------------------------------------
- void case3(){
- }
- //---------------------------------------------
- void case4(){
- }
- //---------------------------------------------
- void case5(){
- }
- //---------------------------------------------
- void case6(){
- }
- //---------------------------------------------
- void case7(){
- }
- //---------------------------------------------
- void case8(){
- }
- void case9(){
- System.out.println("Podaj dane do stworzenia nowego rekordu \n");
- Scanner odczyt= new Scanner(System.in);
- System.out.println("Podaj kwote wygranej: \n");
- double kwota=odczyt.nextDouble();
- System.out.println("Podaj miasto wygranej: \n");
- String miasto=odczyt.nextLine();
- System.out.println("Podaj ulice wygranej: \n");
- String ulica=odczyt.nextLine();
- System.out.println("Podaj date wygranej: (format dd-mm-yy \n");
- String data=odczyt.nextLine();
- String sql=
- "insert into nagroda ( kwota_wygranej, miasto, ulica, data) values ('"+kwota+"','" +miasto+ "','"+ulica+"','"+data+"');";
- // String sql2="SELECT * FROM nagroda WHERE ulica="+ulica+" and data="+data+";";
- try {
- stat.execute(sql);
- System.out.println("Dodano rekord: \n");
- // stat.execute(sql2);
- } catch (SQLException e) {
- System.err.println("Blad przy dodawaniu nagrody");
- e.printStackTrace();
- }
- Menu();
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////
- public void closeConnection() {
- try {
- conn.close();
- } catch (SQLException e) {
- System.err.println("Problem z zamknieciem polaczenia");
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement