summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/sql/sql.java
diff options
context:
space:
mode:
Diffstat (limited to 'Dozentenmodul/src/sql/sql.java')
-rw-r--r--Dozentenmodul/src/sql/sql.java179
1 files changed, 179 insertions, 0 deletions
diff --git a/Dozentenmodul/src/sql/sql.java b/Dozentenmodul/src/sql/sql.java
new file mode 100644
index 00000000..dade6b1e
--- /dev/null
+++ b/Dozentenmodul/src/sql/sql.java
@@ -0,0 +1,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://127.0.0.1/bwLehrpool?user=root&password=root");
+ 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;
+
+ }
+
+}