/// <summary> /// Zusätzliche Informationen zu einem Benutzer aufgrund eines Nutzernames erhalten /// </summary> /// <param name="nutzername">Nutzername des zu suchenden Benutzers</param> /// <returns></returns> public User GetByName(string nutzername) { try { User user = null; StaticDB.Connect(); string com = "SELECT base.Nutzername, info.ErstelltAm, info.Infotext, info.OnlyCustomName, info.CustomName, bild.Bild " + "FROM User_Base AS base " + "INNER JOIN User_Info AS info " + "ON info.Nutzername = base.Nutzername " + "LEFT JOIN User_Bild AS bild " + "ON bild.Nutzername = base.Nutzername " + $"WHERE base.Nutzername = '{nutzername}';"; SqlCommand command = new SqlCommand(com, StaticDB.Connection); StaticDB.Connection.Open(); var r = command.ExecuteReader(); while (r.Read()) { user = new User() { Nutzername = r.GetString(0), ErstelltAm = r.GetDateTime(1), InfoText = r.GetString(2), OnlyCustomName = StaticDB.ConvertByteToBool(r.GetByte(3)), CustomName = r.GetString(4) }; if (!r.IsDBNull(5)) { user.ProfilBild = (byte[])r[5]; } } StaticDB.Connection.Close(); user.AnzahlFollower = GetAnzahlFollower(user.Nutzername); return(user); } catch (Exception ex) { _ = ex.Message; if (StaticDB.Connection != null) { if (StaticDB.Connection.State != System.Data.ConnectionState.Closed) { StaticDB.Connection.Close(); } } return(null); } }