Row aus DataGridView löschen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    Row aus DataGridView löschen

    Hallo! Ich habe gerade ein kleines Problem: Ich möchte eine Zeile aus einem DataGridView löschen, das mit einer Datenbank verbunden ist. Zum Löschen benutze ich folgenden Code:

    VB.NET-Quellcode

    1. ImagesDataGridView.Rows.Remove(ImagesDataGridView.CurrentRow) 'Markierte Zeile entfernen
    (Der Table heißt "Images")
    Wenn ich das Programm jetzt beende und neustarte ist die Zeile wieder da, weil sie ja nur aus dem DataGridView entfernt wurde. Deswegen will ich diese Änderung dann auch in der Datenbank übernehmen.
    Dazu benutze ich folgenden Code:

    VB.NET-Quellcode

    1. TableAdapterManager.UpdateAll(Me.Database1DataSet)

    Und dann kommt folgende Fehlermeldung:
    Aktualisieren erfordert einen gültigen DeleteCommand, wenn eine DataRow-Auflistung mit gelöschten Zeilen weitergegeben wird.
    Kann mir jemand helfen? Danke!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Maynard“ ()

    Warum löschst du die Reihe nicht einfach direkt aus der Datenbank per SQL-Befehl mit 'DELETE FROM Tabelle WHERE ID = x' ?
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Was für eine Datenbank ist es denn?
    Da du, denke ich mal, eine SQL-Datenbank benutzt, kannst du einen Eintrag mit dem im vorigen Post geschriebenen SQL-Befehl löschen.
    Genauso wie du die SELECT Abfrage machst, nur das eben der ConnectionString der DELETE-Befehl ist.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Hab ich doch oben schon.

    VB.NET-Quellcode

    1. DELETE FROM Tabelle WHERE [Bedingung]

    Wobei die Bedingung z.B ID = 2 ist.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Du musst auch zuerst eine Verbindung zur Datenbank aufbauen.
    Wie machst du dass?
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Ich habe über VisualStudio eine lokale (keine service-based) Datenbank erstellt. Dann habe ich über das Fenster Data Sources ein DataGridView auf meine Form gezonen. Somit ist die Datenbank automatisch mit meiner Anwendung verbunden, ohne dass ich eine Zeile Code schreiben muss.
    Und wie rufst du die Datenbank ab?
    Wie machst du eine Suchen in der Datenbank?
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    ahoi Maynard,

    schau dir mal dir mal das hier an

    msdn.microsoft.com/de-de/libra…qldataadapter(VS.80).aspx

    die SQL Abafrage übergibst du als String dem Dataadapter
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de