package database import ( "database/sql" "log" "gitlab.dedyn.io/AUDIAG/rtcusertr/domain" _ "github.com/go-sql-driver/mysql" ) var ( dbConnection = "rtcusertrdbuser:hurtz3585@tcp(ubodroid-1:3306)/rtcusertrdb" dbType = "mysql" ) // Tool Funktionen func CreateKnoten(knoten domain.KnotenE) (resKnoten domain.KnotenE, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { log.Println("Error while connecting DB: ", err) } log.Println("Verbindung hergestellt") log.Println("Name = ", knoten.Fachbereich) defer conn.Close() res, err := conn.Exec("INSERT INTO knoten VALUES(?,?,?,?)", knoten.Id, knoten.Fachbereich, knoten.Anzahl, knoten.Tag) if err != nil { log.Println("Error while executing insert statement", err) } lastId, err := res.LastInsertId() knoten.Id = uint(lastId) resKnoten = knoten return resKnoten, err } func DeleteKnoten(knotenId uint) (result, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { log.Println("Error while connecting DB: ", err) } log.Println("DB Verbindung hergestellt") defer conn.Close() _, err = conn.Exec("DELETE FROM knoten WHERE id = ?", knotenId) if err != nil { log.Fatal("Error while executing DELETE statement", err) } return result, err } func ShowKnoten() (knotenArray []domain.KnotenE, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { log.Println("Error while connecting DB: ", err) } log.Println("DB Verbindung hergestellt") defer conn.Close() results, err := conn.Query("SELECT * FROM knoten") if err != nil { log.Fatal("Error while executing SELECt statement", err) } var knoten domain.KnotenE for results.Next() { err = results.Scan(&knoten.Id, &knoten.Fachbereich, &knoten.Anzahl, &knoten.Tag) if err != nil { log.Fatal("Error: ", err) } knotenArray = append(knotenArray, knoten) } return knotenArray, err } func GetKnoten(id uint) (knoten domain.KnotenE, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { log.Println("Error while connecting DB: ", err) } log.Println("DB Verbindung hergestellt") defer conn.Close() results, err := conn.Query("SELECT * FROM knoten WHERE id=?", id) if err != nil { log.Fatal("Error while executing SELECt statement", err) } for results.Next() { err = results.Scan(&knoten.Id, &knoten.Fachbereich, &knoten.Anzahl, &knoten.Tag) if err != nil { log.Fatal("Error: ", err) } } return knoten, err } func UpdateKnoten(knoten domain.KnotenE) (resKnoten domain.KnotenE, err error) { conn, err := sql.Open(dbType, dbConnection) if err != nil { log.Println("Error while connecting DB: ", err) } log.Println("Verbindung hergestellt") log.Println("Name = ", knoten.Fachbereich) defer conn.Close() _, err = conn.Exec("UPDATE knoten SET fachbereich=?, anzahl=?, tag=? WHERE id=?", knoten.Fachbereich, knoten.Anzahl, knoten.Tag, knoten.Id) if err != nil { log.Println("Error while executing insert statement", err) } resKnoten = knoten return resKnoten, err }