Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: SQL Server Conpact Edition - löschen mehrerer Datensätze

  1. #1
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich erstelle eine Anwendung mit VB.NET 2010 Framework 4 und einer SQL Server Conpact Edition 3.5 Datenbank.

    Die Felder einer Tabelle sind u.a.:
    ID
    Datum
    Seriennummer
    ...

    Der Zugriff erfolgt mit LINQ_TO_SQL.

    Nun möchte ich alle Datensätze des gleichen Datums löschen.
    Ein einzelner Datensatz lässt sich so löschen:

    Code:
            ' get the data context
            Dim dc As New Db_Matrix()
    
            ' find the customer with a matching Date ID
            Dim matchedDate = (From c In dc.GetTable(Of Parts)() _
                                   Where c.Dt = DateID _
                                   Select c).SingleOrDefault()
    
            Try
                ' delete the matching Date
                dc.Parts.DeleteOnSubmit(matchedDate)
                dc.SubmitChanges()
    
            Catch ex As Exception
                Throw ex
            End Try
    Allerdings nur wenn die Abfrage lediglich einen Datensatz findet.

    "removeall" scheint es in CE nicht zu geben...

    Danke im voraus, Gruß
    Stefan


    Zitieren Zitieren SQL Server Conpact Edition - löschen mehrerer Datensätze  

  2. #2
    Registriert seit
    21.09.2009
    Beiträge
    42
    Danke
    5
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hi,

    schau mal hier wirds mit einer foreach-Schleife gemacht:
    http://msdn.microsoft.com/de-de/library/bb386925.aspx

    Gruß jens

  3. #3
    Avatar von StefanK
    StefanK ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Hi,
    danke für deine Antwort,

    ich habe es jetzt in eine Schleife gepackt. Das löschen von ca. 20.000 Datensätzen dauert allerdings so lange, das ich den Löschvorgang in einen Backgroundworker gepackt habe, damit es den Hauptprozess nicht stört und ich während des löschens noch Datensätze einfügen kann.

    Gruß



  4. #4
    Registriert seit
    26.01.2010
    Beiträge
    51
    Danke
    1
    Erhielt 13 Danke für 12 Beiträge

    Standard

    Wenn du eine Anwendung in VB.Net schreibst, wirst du wohl SQL-Statements abschicken können. Probiers einfach mit DELETE FROM Table WHERE DATUM=Datum, Wobei Table der Tabellenname und Datum das gewünschte Datum ist. 20'000 Datensätze mit einer Foreach Schlaufe aus einer SQL Datenbank zu löschen ist wie in einen neuen Ferrari einen 2CV Motor einzubauen.

  5. #5
    Avatar von StefanK
    StefanK ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für deine Antwort,

    hatte das Projekt zwar abgeschlossen, aber dein Post hat mich nochmal motiviert. Ich hatte es früher schon einmal getestet, mehrere Datensätze zu löschen, habe aber mit 'DeleteAllOnSubmit' immer einen Syntaxfehler bekommen. Nun habe ich das:

    Code:
    Public Shared Sub DeletePartsByDate2(ByVal DateID As String)
    
        Dim dbContext As New Db_Matrix()
        Dim query = From p In dbContext.Parts
            Where p.Dt = DateID
            Select p
        Try
            dbContext.Parts.DeleteAllOnSubmit(query)
            dbContext.SubmitChanges()
        Catch ex As Exception
            Throw ex
        End Try
    
    End Sub
    testweise implementiert; läuft..!!



Ähnliche Themen

  1. Ablegen mehrerer Variablen
    Von ToxicSPS im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 07.09.2011, 14:21
  2. Sonder-Edition
    Von sps freak im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 13.01.2010, 15:29
  3. Express-Edition von SQL-Server kann nicht installiert werden..
    Von PeterEF im Forum PC- und Netzwerktechnik
    Antworten: 5
    Letzter Beitrag: 21.05.2008, 10:55
  4. Not Aus Verkettung mehrerer Anlagen
    Von bluebird277 im Forum Schaltschrankbau
    Antworten: 4
    Letzter Beitrag: 29.04.2008, 21:02
  5. Vernetzung mehrerer S7-315 2DP
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.06.2005, 09:47

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •