Ausgewählte Spalte im DataGrid aus Datenbank löschen mit Button

  • C#
  • .NET 5–6

    Ausgewählte Spalte im DataGrid aus Datenbank löschen mit Button

    Hallo,
    ich habe ein DataGrid dass mit einer Datenbank verknüpft ist, über textboxen kann ich spalten in die Datenbank hinzufügen und die Daten der Db werden in dem Datagrid angezeigt. Jetzt würde ich gerne die ausgewählte spalte des DataGrids löschen, sodass auch die dazugehörige Spalte in der Db gelöscht wird. Das ist mein Code:

    C#-Quellcode

    1. using System;
    2. using System.Configuration;
    3. using System.Data;
    4. using System.Data.SqlClient;
    5. using System.Windows;
    6. namespace Projekt
    7. {
    8. public partial class MainWindow : Window
    9. {
    10. public MainWindow()
    11. {
    12. InitializeComponent();
    13. FillDataGrid();
    14. }
    15. private void FillDataGrid()
    16. {
    17. string CmdString = string.Empty;
    18. using (SqlConnection con = getSqlConnection())
    19. {
    20. CmdString = "SELECT * FROM MitgliedmitInfos";
    21. SqlCommand cmd = new SqlCommand(CmdString, con);
    22. SqlDataAdapter sda = new SqlDataAdapter(cmd);
    23. DataTable dt = new DataTable();
    24. sda.Fill(dt);
    25. grdMitglieder.ItemsSource = dt.DefaultView;
    26. }
    27. }
    28. private void save()
    29. {
    30. var sqlConnection = getSqlConnection();
    31. try
    32. {
    33. string query = "insert into MitgliedmitInfos values (@Vorname, @Nachname, @Land, @Wohnort, @Straße, @Hausnummer, @Emailadresse, @Telefonnummer)";
    34. SqlCommand sqlCommand = new SqlCommand(query, sqlConnection);
    35. sqlConnection.Open();
    36. sqlCommand.Parameters.AddWithValue("@Vorname", tbVorname.Text);
    37. sqlCommand.Parameters.AddWithValue("@Nachname", tbNachname.Text);
    38. sqlCommand.Parameters.AddWithValue("@Land", tbLand.Text);
    39. sqlCommand.Parameters.AddWithValue("@Wohnort", tbStadt.Text);
    40. sqlCommand.Parameters.AddWithValue("@Straße", tbStraße.Text);
    41. sqlCommand.Parameters.AddWithValue("@Hausnummer", tbHausnr.Text);
    42. sqlCommand.Parameters.AddWithValue("@Emailadresse", tbEmail.Text);
    43. sqlCommand.Parameters.AddWithValue("@Telefonnummer", tbTelefon.Text);
    44. sqlCommand.ExecuteScalar();
    45. }
    46. catch (Exception ex)
    47. {
    48. MessageBox.Show(ex.ToString());
    49. }
    50. finally
    51. {
    52. sqlConnection.Close();
    53. FillDataGrid();
    54. }
    55. }
    56. private void ButtonSpeichern_Click(object sender, RoutedEventArgs e)
    57. {
    58. save();
    59. }
    60. private SqlConnection getSqlConnection()
    61. {
    62. string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
    63. SqlConnection sqlConnection = new SqlConnection(ConString);
    64. return sqlConnection;
    65. }
    66. private void delete()
    67. {
    68. }
    69. private void ButtonLöschen_Click(object sender, RoutedEventArgs e)
    70. {
    71. delete();
    72. }
    73. }
    74. }


    Und das ist mein xaml-code:

    XML-Quellcode

    1. <Window x:Class="Projekt.MainWindow"
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    6. xmlns:local="clr-namespace:Projekt">
    7. <Grid>
    8. <DataGrid Name="grdMitglieder" HorizontalAlignment="Left" Height="205" Margin="10,10,0,0" VerticalAlignment="Top" Width="740"/>
    9. <TextBox Name="tbVorname" HorizontalAlignment="Left" Height="23" Margin="10,220,0,0" TextWrapping="Wrap" Text="Vorname" VerticalAlignment="Top" Width="120"/>
    10. <TextBox Name="tbNachname" HorizontalAlignment="Left" Height="23" Margin="150,220,0,0" TextWrapping="Wrap" Text="Nachname" VerticalAlignment="Top" Width="120"/>
    11. <TextBox Name="tbLand" HorizontalAlignment="Left" Height="23" Margin="10,260,0,0" TextWrapping="Wrap" Text="Land" VerticalAlignment="Top" Width="120"/>
    12. <TextBox Name="tbStadt" HorizontalAlignment="Left" Height="23" Margin="150,260,0,0" TextWrapping="Wrap" Text="Stadt" VerticalAlignment="Top" Width="120"/>
    13. <TextBox Name="tbStraße" HorizontalAlignment="Left" Height="23" Margin="290,260,0,0" TextWrapping="Wrap" Text="Straße" VerticalAlignment="Top" Width="120"/>
    14. <TextBox Name="tbHausnr" HorizontalAlignment="Left" Height="23" Margin="430,260,0,0" TextWrapping="Wrap" Text="Hausnummer" VerticalAlignment="Top" Width="120"/>
    15. <TextBox Name="tbEmail" HorizontalAlignment="Left" Height="23" Margin="10,300,0,0" TextWrapping="Wrap" Text="Emailadresse" VerticalAlignment="Top" Width="120"/>
    16. <TextBox Name="tbTelefon" HorizontalAlignment="Left" Height="23" Margin="150,300,0,0" TextWrapping="Wrap" Text="Telefonnummer" VerticalAlignment="Top" Width="120"/>
    17. <Button Name="Speichern" Content="Speichern" HorizontalAlignment="Left" Margin="335,303,0,0" VerticalAlignment="Top" Width="75" Click="ButtonSpeichern_Click"/>
    18. <Button Name="Löschen" Content="Löschen" HorizontalAlignment="Left" Margin="526,405,0,0" VerticalAlignment="Top" Width="75" Click="ButtonLöschen_Click"/>
    19. </Grid>
    20. </Window>