public static void Save(Mitglied mitglied, out int id) { string xmlTelefon = SerializeTelefon(mitglied.LstTelefon); SqlParameter pId = new SqlParameter("@id", SqlDbType.Int); SqlParameter pName = new SqlParameter("@name", SqlDbType.NVarChar, 50); SqlParameter pOrt = new SqlParameter("@ort", SqlDbType.NVarChar, 50); SqlParameter pStrasse = new SqlParameter("@strasse", SqlDbType.NVarChar, 50); SqlParameter pGeburtsdatum = new SqlParameter("@geburtsdatum", SqlDbType.Date); SqlParameter pGeschlecht = new SqlParameter("@geschlecht", SqlDbType.NVarChar, 1); SqlParameter pNotiz = new SqlParameter("@notiz", SqlDbType.NVarChar, mitglied.Notiz.Length); SqlParameter pTelefon = new SqlParameter("@telefon", SqlDbType.NVarChar, xmlTelefon.Length); SqlCommand com = new SqlCommand(); com.Parameters.Add(pId).Value = mitglied.Id; com.Parameters.Add(pName).Value = mitglied.Name; com.Parameters.Add(pOrt).Value = mitglied.Ort; com.Parameters.Add(pStrasse).Value = mitglied.Strasse; com.Parameters.Add(pGeburtsdatum).Value = mitglied.Geburtsdatum.Value; com.Parameters.Add(pGeschlecht).Value = mitglied.Geschlecht; com.Parameters.Add(pNotiz).Value = mitglied.Notiz; com.Parameters.Add(pTelefon).Value = xmlTelefon; if (mitglied.Id > 0) { com.CommandText = "UPDATE Mitglied SET " + "Name=@name," + "Ort=@ort," + "Strasse=@strasse," + "Geburtsdatum=@geburtsdatum," + "Geschlecht=@geschlecht," + "Notiz=@notiz," + "Telefon=@telefon " + "WHERE ID=@id;" + "SELECT @id"; } else { com.CommandText = "INSERT INTO Mitglied" + "(Name,Ort,Strasse,Geburtsdatum,Geschlecht,Notiz,Telefon)" + "VALUES" + "(@name,@ort,@strasse,@geburtsdatum,@geschlecht,@notiz,@telefon);" + "SELECT @@IDENTITY"; } using (SqlConnection con = new SqlConnection(Config.CONNECTION_STRING)) { con.Open(); com.Connection = con; id = Convert.ToInt32(com.ExecuteScalar()); } }
public static ReadResult Read() { ReadResult readResult = new ReadResult(); using (SqlConnection con = new SqlConnection(Config.CONNECTION_STRING)) { con.Open(); SqlCommand com = con.CreateCommand(); com.CommandText = //"WAITFOR DELAY '00:00:00';" + "SELECT Id,Name,Ort,Strasse,Geburtsdatum,Geschlecht,Notiz,Telefon " + "FROM Mitglied ORDER BY Name,Id"; using (SqlDataReader rdr = com.ExecuteReader()) { while (rdr.Read()) { Mitglied mitglied = new Mitglied(); mitglied.Id = Convert.ToInt32(rdr["Id"]); mitglied.Name = Convert.ToString(rdr["Name"]); mitglied.Ort = Convert.ToString(rdr["Ort"]); mitglied.Strasse = Convert.ToString(rdr["Strasse"]); mitglied.Geburtsdatum = Convert.ToDateTime(rdr["Geburtsdatum"]); mitglied.Geschlecht = Convert.ToString(rdr["Geschlecht"]); mitglied.Notiz = Convert.ToString(rdr["Notiz"]); mitglied.LstTelefon.AddRange(DeserializeTelefon(Convert.ToString(rdr["Telefon"]))); readResult.Mitglieder.Add(mitglied); } } com.CommandText = "SELECT ISNULL(M,0),ISNULL((100-M), 0) W FROM " + "(SELECT ROUND((COUNT(Case when Geschlecht='M' THEN Geschlecht END)/" + "NULLIF(CONVERT(FLOAT, COUNT(Geschlecht)),0)*100),2) M FROM Mitglied)TBL"; using (SqlDataReader rdr = com.ExecuteReader()) { if (rdr.Read()) { readResult.Maennlich = Convert.ToDouble(rdr[0]); readResult.Weiblich = Convert.ToDouble(rdr[1]); } } } return(readResult); }