package main import ( "database/sql" "log" _ "github.com/go-sql-driver/mysql" ) var ( dbConnection = "wdmdbuser:wdmdbpass@tcp(ubodroid-2:3300)/wdmdb" dbType = "mysql" ) // Tool Funktionen func CreateTyp(typ Typ) (resTyp Typ, 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 = ", typ.Bezeichnung) defer conn.Close() res, err := conn.Exec("INSERT INTO typ VALUES(?,?)", typ.Id, typ.Bezeichnung) if err != nil { log.Println("Error while executing insert statement", err) } lastId, err := res.LastInsertId() typ.Id = uint(lastId) resTyp = typ return resTyp, err } func DeleteTyp(typId 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 ncinstanz WHERE id = ?", typId) if err != nil { log.Fatal("Error while executing DELETE statement", err) } return result, err } func ShowTyp() (typArray []Typ, 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 typ") if err != nil { log.Fatal("Error while executing SELECt statement", err) } var typ Typ for results.Next() { err = results.Scan(&typ.Id, &typ.Bezeichnung) if err != nil { log.Fatal("Error: ", err) } typArray = append(typArray, typ) } return typArray, err } func GetTyp(id uint) (typ Typ, 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 typ WHERE id=?", id) if err != nil { log.Fatal("Error while executing SELECt statement", err) } for results.Next() { err = results.Scan(&typ.Id, &typ.Bezeichnung) if err != nil { log.Fatal("Error: ", err) } } return typ, err } func UpdateTyp(typ Typ) (resTyp Typ, 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 = ", typ.Bezeichnung) defer conn.Close() _, err = conn.Exec("UPDATE typ SET bezeichnung=? WHERE id=?", typ.Bezeichnung, typ.Id) if err != nil { log.Println("Error while executing insert statement", err) } resTyp = typ return resTyp, err }