static public DbBenutzer_Frage_Fach Read(Connector connector, uint benutzer_nr, uint frage_nr, uint fach_nr) { DbBenutzer_Frage_Fach dbBenutzerFrageFach = null; Fach fach = DbFach.Read(connector, fach_nr); Frage frage = DbFrage.Read(connector, frage_nr); Benutzer benutzer = DbBenutzer.Read(connector, benutzer_nr); connector.Connection.Open(); string query = "SELECT * FROM T_Benutzer_Fragen_Faecher WHERE p_f_benutzer_nr = " + benutzer_nr + " AND p_f_frage_nr" + frage_nr + " AND p_f_fach_nr" + fach_nr; DbDataReader reader = connector.ExecuteReader(query); if (reader.HasRows) { int _richtig = (int)reader["richtig"]; int _falsch = (int)reader["falsch"]; dbBenutzerFrageFach = new DbBenutzer_Frage_Fach(_richtig, _falsch, benutzer, frage, fach); } else { connector.Connection.Close(); throw new DbBenutzer_Frage_Fach_ReadException(); } connector.Connection.Close(); return(dbBenutzerFrageFach); }
// Read from DB static public DbFach Read(Connector connector, uint fach_nr) { DbFach dbFach = null; connector.Connection.Open(); string query = "SELECT * FROM T_Faecher WHERE p_fach_nr = " + fach_nr; DbDataReader reader = connector.ExecuteReader(query); if (reader.HasRows) { reader.Read(); uint _fach_nr = (uint)reader["p_fach_nr"]; uint _kapazitaet = (uint)reader["kapazitaet"]; uint _anzahl_wiederholungen = (uint)reader["anzahl_wiederholungen"]; uint _wiederholungs_zeitspanne = (uint)reader["wiederholungs_zeitspanne"]; uint _benutzer_nr = (uint)reader["f_benutzer_nr"]; dbFach = new DbFach(_fach_nr, _kapazitaet, _anzahl_wiederholungen, _wiederholungs_zeitspanne, _benutzer_nr); } else { connector.Connection.Close(); throw new DbFachReadException(); } connector.Connection.Close(); return(dbFach); }
static public List <DbBenutzer_Frage_Fach> Read(Connector connector, uint benutzer_nr) { List <DbBenutzer_Frage_Fach> benutzerfragefachliste = new List <DbBenutzer_Frage_Fach>(); DbBenutzer_Frage_Fach benutzerfragefach = null; Benutzer benutzer = DbBenutzer.Read(connector, benutzer_nr); connector.Connection.Open(); string query = "SELECT * FROM t_user_fragen WHERE p_f_benutzer_nr = " + benutzer_nr; DbDataReader reader = connector.ExecuteReader(query); if (reader.HasRows) { while (reader.Read()) { int _benutzer_nr = (int)reader["p_f_benutzer_nr"]; uint _fach_nr = (uint)reader["p_f_fach_nr"]; uint _frage_nr = (uint)reader["p_f_frage_nr"]; int _richtig = (int)reader["richtig"]; int _falsch = (int)reader["falsch"]; Fach fach = DbFach.Read(connector, _fach_nr); Frage frage = DbFrage.Read(connector, _frage_nr); benutzerfragefach = new DbBenutzer_Frage_Fach(_richtig, _falsch, benutzer, frage, fach); benutzerfragefachliste.Add(benutzerfragefach); } } else { connector.Connection.Close(); throw new DbFrageReadException(); } connector.Connection.Close(); return(benutzerfragefachliste); }
public static Benutzer Read(Connector connector, uint benutzer_nr) { // unser Rückgabe-Objekt Benutzer benutzer = null; connector.Connection.Open(); string query = "SELECT * FROM T_Benutzer WHERE p_benutzer_nr = " + benutzer_nr; DbDataReader reader = connector.ExecuteReader(query); if (reader.HasRows) { reader.Read(); uint _p_benutzer_nr = (uint)reader["p_benutzer_nr"]; string _login_name = (string)reader["login_name"]; string _email_adresse = (string)reader["email_adresse"]; string _passwort = (string)reader["passwort"]; uint _fk_rolle_nr = (uint)reader["fk_rolle_nr"]; switch (_fk_rolle_nr) { case 1: benutzer = new DbAdmin(_p_benutzer_nr, _login_name, _email_adresse, _passwort); break; case 2: benutzer = new DbDozent(_p_benutzer_nr, _login_name, _email_adresse, _passwort); break; case 3: benutzer = new DbSchueler(_p_benutzer_nr, _login_name, _email_adresse, _passwort); break; default: // TODO besser als Check-Constraint in der DB realisieren throw new UnsupportedRoleException(); } reader.Close(); // Jetzt lesen wir noch die Fächer ein // Warum ist das eigentlich hier implementiert worden ? // query = "SELECT * FROM T_Faecher WHERE f_benutzer_nr = " + benutzer.Benutzer_nr; reader = connector.ExecuteReader(query); if (reader.HasRows) { int i = 0; while (i < 5 && reader.Read()) { uint _fach_nr = (uint)reader["p_fach_nr"]; uint _kapazitaet = (uint)reader["kapazitaet"]; uint _anzahl_wiederholungen = (uint)reader["anzahl_wiederholungen"]; uint _wiederholungs_zeitspanne = (uint)reader["wiederholungs_zeitspanne"]; uint _benutzer_nr = (uint)reader["f_benutzer_nr"]; DbFach dbFach = new DbFach(_fach_nr, _kapazitaet, _anzahl_wiederholungen, _wiederholungs_zeitspanne, _benutzer_nr); benutzer.FachListe[i] = dbFach; i++; } } reader.Close(); } else { connector.Connection.Close(); throw new DbFrageReadException(); } connector.Connection.Close(); return(benutzer); }