· 9 years ago · Nov 14, 2016, 06:52 PM
1import java.io.*;
2import java.nio.*;
3import java.util.*;
4import java.sql.*;
5public class Menju3 {
6 private static String wybor;
7 private static Scanner odczyt;
8 private Statement stat;
9 private Connection lacze;
10 private ResultSet wynik;
11 public static final String DRIVER = "org.sqlite.JDBC";
12 public static final String DB_URL = "jdbc:sqlite:biblioteka.db";
13
14 void sterownik(){
15 try{
16 Class.forName(DRIVER);
17 } catch (ClassNotFoundException e) {
18 System.err.println("Brak sterownika JDBC");
19 e.printStackTrace();
20 }
21
22 try {
23 lacze = DriverManager.getConnection(DB_URL);
24 stat = lacze.createStatement();
25 } catch (SQLException e) {
26 System.err.println("Problem z otwarciem połączenia");
27 e.printStackTrace();
28 }
29 }
30 public void usun(){
31 try {
32 stat.execute("DROP TABLE IF EXISTS postac;");
33 } catch (SQLException e) {
34 System.err.println("Tabela nie istnieje");
35 e.printStackTrace();
36 }
37 }
38 public void insert(String id, String imie, String nazwisko, String data_ur, String data_ur2, String pozycja, String klub) {
39 try {
40 PreparedStatement prpStat = lacze.prepareStatement("INSERT INTO postac VALUES ('?', '?', '?', '?', '?', '?');");
41 prpStat.setString(1, id);
42 prpStat.setString(2, imie);
43 prpStat.setString(3, nazwisko);
44 prpStat.setString(4, data_ur);
45 prpStat.setString(5, data_ur2);
46 prpStat.setString(6, pozycja);
47 prpStat.setString(7, klub);
48 prpStat.execute();
49 } catch (SQLException e) {
50 System.err.println("Blad przy wprowadzaniu danych");
51 e.printStackTrace();
52 }
53 }
54 public void create(){
55 try{
56 stat.execute("CREATE TABLE IF NOT EXISTS postac(id INTEGER PRIMARY KEY, imie VARCHAR(20), nazwisko VARCHAR(30), data_ur DATE, data_ur2 DATE, pozycja VARCHAR(50), klub VARCHAR(25))");
57 }
58 catch(SQLException e){
59 System.err.println("Błąd przy tworzeniu tabeli");
60 e.printStackTrace();
61 }
62 }
63 public void wczyt() {
64 sterownik();
65 String csvFile = "baza1.csv";
66 String line = "";
67 usun();
68 create();
69
70 try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
71
72 while ((line = br.readLine()) != null) {
73 // use comma as separator
74 String[] Menju3 = line.split(",",-1);
75 System.out.println(Menju3[0] + " " + Menju3[1] + " " + Menju3[2] + " " + Menju3[3] + " " + Menju3[4] + " " + Menju3[5] + " " + Menju3[6]);
76 insert(Menju3[0],Menju3[1],Menju3[2],Menju3[3],Menju3[4],Menju3[5],Menju3[6]);
77 }
78
79 } catch (IOException e) {
80 e.printStackTrace();
81 }
82 }
83 public void ide(){
84 odczyt = new Scanner(System.in);
85 System.out.print("Wprowadz id osoby: ");
86 try {
87 int id = odczyt.nextInt();
88 wynik = stat.executeQuery("SELECT id FROM postac WHERE id = "+id+" LIMIT 1");
89 }
90 public void old(){
91
92 }
93 public void popular(){
94
95 }
96 public void lech(){
97
98 }
99 public void legia(){
100
101 }
102 public void wisla(){
103
104 }
105 public void staff(){
106
107 odczyt = new Scanner(System.in);
108 System.out.println("*Wciśnij zapytany przycisk oraz zaakceptuj poprzez enter*");
109 System.out.println("Aby... ");
110 System.out.println("...wczytać staff Lecha [1]");
111 System.out.println("...wczytać staff Legii [2]");
112 System.out.println("...wczytać staff Wisły [3]");
113 wybor = odczyt.nextLine();
114 switch (wybor){
115 case "1":
116 lech();
117 break;
118 case "2":
119 legia();
120 break;
121 case "3":
122 wisla();
123 break;
124 }
125}
126 public static void main(String[] args){
127 Menju3 baza = new Menju3();
128 try{
129 Class.forName("org.sqlite.JDBC");
130 }catch(ClassNotFoundException e){
131 System.err.println("Brak sterownika JDBC");
132 e.printStackTrace();
133 }
134 do{
135 odczyt = new Scanner(System.in);
136 System.out.println("*Witaj w bazie*");
137 System.out.println("*Wciśnij zapytany przycisk oraz zaakceptuj poprzez enter*");
138 System.out.println("Aby... ");
139 System.out.println("...wczytać dane z pliku do bazy [1]");
140 System.out.println("...wyszukać id dowolnej postaci [2]");
141 System.out.println("...znaleść najbardziej popularne nazwisko [3]");
142 System.out.println("...znaleść najstarsze postaci [4]");
143 System.out.println("...wypisać cały staff danego klubu [5]");
144 System.out.println("...usunąć bazę [6]");
145 System.out.println("...zakończyć prace programu [7]");
146 wybor = odczyt.nextLine();
147 switch (wybor){
148 case "1":
149 baza.wczyt();
150 break;
151 case "2":
152 baza.ide();
153 break;
154 case "3":
155 baza.popular();
156 break;
157 case "4":
158 baza.old();
159 break;
160 case "5":
161 baza.staff();
162 break;
163 case "6":
164 baza.usun();
165 break;
166 case "7":
167 System.out.println("Koniec działania programu.");
168 break;
169 default:
170 System.out.println("Nie prawidłowa liczba.");
171 }}while(!wybor.equals("7"));
172}
173}