1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
package sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class sql {
//Erstellt eine Verbindung zu einer Datenbank
public Connection getConnection()
{
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Connection con=DriverManager.getConnection("jdbc:mysql://132.230.4.16/bwLehrpool?user=bwlpuser&password=armag3ddon");
return con;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//Liefert alle vorhandenen Betriebssysteme zurück
public ResultSet getAllOS(Connection con)
{
Statement stm;
try {
stm = con.createStatement();
return stm.executeQuery("SELECT distinct Produktname, Version, Architektur FROM bwLehrpool.Betriebssystem order by Produktname asc;");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//Fügt ein Betriebssystem in die Datenbank ein
public int AddOS(Connection con, String name, String Version, String Architektur,int Kosten, String Hersteller)
{
Statement stm;
try {
stm=con.createStatement();
int pk_Hersteller=HerstellerExists(con, Hersteller);
if(pk_Hersteller==-1)
{
addHersteller(con, Hersteller);
}
int ret=stm.executeUpdate("INSERT INTO `bwLehrpool`.`Betriebssystem`(`Produktname`,`Version`,`Architektur`,`IstKostenlos`,`SWHersteller_pk`)VALUES('"+name+"','"+Version+"','"+Architektur+"',"+Kosten+","+pk_Hersteller+");");
return ret;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return -1;
}
//Überprüft ob der angegebene Hersteller bereits exisitert
public int HerstellerExists(Connection con, String Hersteller)
{
int pk_Hersteller=-1;
try {
ResultSet rs=getAllHersteller(con);
while(rs.next())
{
if(rs.getString("Name").equals(Hersteller))
{
pk_Hersteller=Integer.parseInt(rs.getString("pk"));
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return pk_Hersteller;
}
//Liefert alle vorhandenen Hersteller zurück
public ResultSet getAllHersteller(Connection con)
{
try {
Statement stm=con.createStatement();
return stm.executeQuery("SELECT pk,Name FROM bwLehrpool.SWHersteller order by Name asc;");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//Fügt einen Hersteller in die Datenbank ein
public int addHersteller(Connection con, String Name){
Statement stm;
int ret=-1;
try {
stm=con.createStatement();
ret=stm.executeUpdate("INSERT INTO `bwLehrpool`.`SWHersteller`(`Name`)VALUES('"+Name+"');");
//con.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ret;
}
//Liefert sämtliche in der Datenbank vorhandene Software zurück
public ResultSet getAllSoftware(Connection con, String Hersteller)
{
try {
Statement stm=con.createStatement();
return stm.executeQuery("SELECT s.pk,s.Produktname, s.Version, s.Architektur FROM bwLehrpool.Software s left join bwLehrpool.SWHersteller h on s.SWHersteller_pk=h.pk where Name like '"+Hersteller+"' order by s.Produktname;");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//Gibt die Software abhängig vom gesuchten Namen zurück
public ResultSet getSoftwareByName(Connection con, String Name)
{
try {
Statement stm=con.createStatement();
return stm.executeQuery("SELECT concat(h.Name,' ',s.Produktname,' ',s.Version,' ',s.Architektur) as SW FROM bwLehrpool.Software s left join bwLehrpool.SWHersteller h on s.SWHersteller_pk=h.pk where concat(h.Name,' ',s.Produktname,' ',s.Version,' ',s.Architektur) like '%"+Name+"%' order by s.Produktname;");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//Fügt eine Software in die Datenbank ein
public int AddSoftware(Connection con, String name, String Version, String Architektur,int Kosten, String Hersteller)
{
Statement stm;
try {
stm=con.createStatement();
int pk_Hersteller=HerstellerExists(con, Hersteller);
if(pk_Hersteller==-1)
{
addHersteller(con, Hersteller);
}
int ret=stm.executeUpdate("INSERT INTO `bwLehrpool`.`Software`(`Produktname`,`Version`,`Architektur`,`IstKostenlos`,`SWHersteller_pk`)VALUES('"+name+"','"+Version+"','"+Architektur+"',"+Kosten+","+pk_Hersteller+");");
return ret;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return -1;
}
}
|