private void BT_löschen_Click(object sender, RoutedEventArgs e) { if (DG_kunde.SelectedIndex >= 0 && Kundenliste != null) { Kundenliste.RemoveAt(DG_kunde.SelectedIndex); laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } else { MessageBox.Show("Bitte zuerst Kunde Auswählen"); } //Datengrid Aktualisieren DG_kunde.ItemsSource = null; DG_kunde.ItemsSource = Kundenliste; }
public void BT_aendern_Click(object sender, RoutedEventArgs e) { if (SQLuse == false) { //Kundendaten ändern MessageBox.Show($"{idx}"); // Index controller Kundenliste[idx].Nachname = TB_Nname.Text; Kundenliste[idx]._vorname = TB_Vname.Text; Kundenliste[idx].Kontaktdaten.Email = TB_mail.Text; Kundenliste[idx].Kontaktdaten.Telefon = TB_Telefon.Text; DateTime tempDat = Kundenliste[idx].geburtsdatum; if (DateTime.TryParse(TB_Geburtsdatum.Text, out Kundenliste[idx].geburtsdatum)) { } else { MessageBox.Show("Falsches Datumsformat."); Kundenliste[idx].geburtsdatum = tempDat; //close = false; } Kundenliste[idx].Kontaktdaten.Adress.Umzug(TB_Strasse.Text, TB_Hausnummer.Text, TB_PLZ.Text, TB_Ort.Text); if (CB_Lieferanschrift.IsChecked == true) { //falls abweichende lieferanschrift Kundenliste[idx].lieferanschrift.Umzug(TB_Strasse_la.Text, TB_Hausnummer_la.Text, TB_PLZ_la.Text, TB_Ort_la.Text); } laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } //if (close) //{ // this.Close(); //} else { //Kommunikation mit Datenbank MySqlConnection con = new MySqlConnection("Server=localhost;Database=Team1;Uid=root;"); con.Open(); //Speicher k1.Vorname = TB_Vname.Text; k1.Nachname = TB_Nname.Text; k1.geburtsdatum = (DateTime.Parse(TB_Geburtsdatum.Text)); k1.kontaktdaten = new KontaktDaten(); k1.kontaktdaten.Email = TB_mail.Text; k1.kontaktdaten.Telefon = TB_Telefon.Text; k1.kontaktdaten.Adress = new Adresse(); k1.Kontaktdaten.Adress.Strasse = TB_Strasse.Text; k1.kontaktdaten.Adress.Hausnummer = TB_Hausnummer.Text; k1.kontaktdaten.Adress.PLZ = TB_PLZ.Text; k1.kontaktdaten.Adress.Ort = TB_Ort.Text; string kid = ""; string konid = ""; string adid = ""; string query = $"select * from t_kunde where KundenID= {k1.KundeID }"; MySqlCommand com = new MySqlCommand(query); com.Connection = con; MySqlDataReader reader = com.ExecuteReader(); // lesen alle daten von t_kunde if (reader.Read()) { kid = reader[0].ToString(); // er holt nur stelle 0 , stelle 0 isr KundenID konid = reader[2].ToString(); //er holt nur stelle 2 , stelle 0 isr kontaktID adid = reader[5].ToString(); //AdressID } reader.Close(); MessageBox.Show($"DEBUG:in AENDEREN: KundenID ={ kid} "); //MessageBox.Show("DEBUG:in AENDEREN: Daten aus Formular gelesen "); string updatequery = $"update t_kunde set Nachname='{k1.Nachname}',Vorname='{k1.Vorname}' where KundenID = {kid}"; com.CommandText = updatequery; com.ExecuteNonQuery(); //MessageBox.Show("DEBUG:in AENDEREN: in SQL geschrieben "); MessageBox.Show($"DEBUG:in AENDEREN: kontaktID = {konid} "); string konupdate = $"update t_kontaktdaten set Email='{k1.kontaktdaten.Email}',Telefon='{k1.kontaktdaten.Telefon}' where KontaktdatenID = {konid} "; com.CommandText = konupdate; com.ExecuteNonQuery(); string adressupdate = $"update t_adresse set Strasse ='{k1.kontaktdaten.Adress.Strasse}',Hausnummer ='{k1.kontaktdaten.Adress.Hausnummer}' ,PLZ= '{k1.kontaktdaten.Adress.PLZ}',Ort= '{k1.kontaktdaten.Adress.Ort}' where AdressenID={adid} "; com.CommandText = adressupdate; com.ExecuteNonQuery(); con.Close(); } Close(); }
// Delete from SQL Database oder Liste private void delete_Click(object sender, RoutedEventArgs e) { if (useSQL == false) { index = DG_Allekunden.SelectedIndex; if (DG_Allekunden.SelectedIndex >= 0 && Kundenliste != null) { Kundenliste.RemoveAt(DG_Allekunden.SelectedIndex); laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } else { MessageBox.Show("Bitte zuerst Kunde Auswählen"); } //Datengrid Aktualisieren DG_Allekunden.ItemsSource = null; DG_Allekunden.ItemsSource = Kundenliste; } else // SQL verbindet { MySqlConnection con = new MySqlConnection("Server=localhost;Database=Team1;Uid=root;"); //connection bauen con.Open(); //connection öffnen string query = $"select * from t_kunde where KundenID={((DataRowView)DG_Allekunden.SelectedItem).Row.ItemArray[0]}"; //gibt alle Daten die in t_kunde sind und vergleicht der Primary key mit den selected rows erste stelle wo normalerweise kommt der primary key MySqlCommand com = new MySqlCommand(query); //select query in command com.Connection = con; //command ist connected mit unsere connected database MySqlDataReader reader = com.ExecuteReader(); // lesen alle daten von t_kunde //leere strings ; die reservieren platz für : string kid = ""; //KundenId string konid = ""; //KontaktdatenID string adid = ""; //AdressID if (reader.Read()) { kid = reader[0].ToString(); // er holt nur stelle 0 von table t_kunde , stelle 0 ist KundenID konid = reader[2].ToString(); //er holt nur stelle 2 von table t_kunde, stelle 2 isr kontaktdatenID adid = reader[5].ToString(); // er holt nur stelle 5 von table t_kunde , stelle 0 ist AdressId } reader.Close(); //close executreader // Bei Delete process muss der delete von mehr als eine table passiert; weil t_kunde hat 2 foreign key(kontaktdatenid,adressid) //alle daten die verbinden mit t_kunde muss auch löschen //1. löschen alle Kunden Termin //2.löschen t_kunde table //3.löschen alle kunden Kontaktdaten von t_kontaktdaten //4.und dann löschen kunden Adress daten von t_Adress com.CommandText = $"delete from t_termin where KundenID ={kid}"; //delete alle Kunden Termine before t_kunde table zu löschen if (com.ExecuteNonQuery() > 0 // ) { MessageBox.Show(" Successfuly Termine deleted"); } com.CommandText = $"delete from t_kunde where KundenID ={kid}"; if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly!! Kunde is deleted"); } try { com.CommandText = $"delete from t_kontaktdaten where KontaktdatenID ={konid}"; //alle kunden kontaktdaten löschen if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly Kunde Kontakdaten deleted"); } } catch (Exception) { } com.CommandText = $"delete from t_adresse where AdressenID={adid}"; //kunde adress löschen com.ExecuteNonQuery(); if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly Kunde Adress deleted"); } DG_Update(); con.Close(); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); }