.
Anmeldung | Registrieren | Hilfe
in Suchen

Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

Letzter Beitrag 26. Mai 2013 20:34 von alexfaust77. 5 Antworten.
Seite 1 von 1 (6 Treffer)
Beiträge sortieren: Zurück Weiter
  • 23. Mai 2013 23:20

    • alexfaust77
    • Top 75 Mitwirkender
    • Registriert am 14. Jan 2013
    • Beiträge 22
    • Punkte 230

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Sorry zusammen, 

    ich benötige leider schon wieder Hilfe. Ich habe Probleme einen Datensatz in meinem Datagridview zu löschen.
    Hier mal den Quellcode hierzu. Datensätze einfügen kann ich ohne Probleme, aber hier finde ich meinen Fehler nicht.

    </div>
    <div>
    </div>
    <div> Private Sub btndelete_Click(sender As Object, e As EventArgs) Handles btndelete.Click</div>
    <div>        Dim Con As New OleDbConnection</div>
    <div>
    </div>
    <div>        Con.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;" & "data source=C:\Users\Alex\Documents\Visual Studio 2012\Projects\Bewerbungsdatenbank\Bewerbungsdatenbank\db1.mdb"</div>
    <div>
    </div>
    <div>        Dim sqlstatement As String</div>
    <div>
    </div>
    <div>        Try</div>
    <div>            Select Case MessageBox.Show(" Löschen ? ", "Den Datensatz wirklich LÖSCHEN ?", MessageBoxButtons.YesNo)</div>
    <div>                Case Windows.Forms.DialogResult.Yes</div>
    <div>
    </div>
    <div>                    Con.Open()</div>
    <div>                    sqlstatement = "DELETE * from Tabelle1 WHERE Nummer = textbox1.text "</div>
    <div>
    </div>
    <div>                    Dim cmd As New OleDbCommand(sqlstatement, Con)</div>
    <div>                    cmd.Connection = Con</div>
    <div>                    cmd.ExecuteNonQuery()</div>
    <div>                    Con.Close()</div>
    <div>

    Zur Tabelle folgendes 17 Spalten und die Spalte Nummer ist ein Autowert der mit jedem Datensatz automatisch hochgezählt wird.
    In büchern habe ich gelesen das es sofern es sich um einen Autowert handelt auch einfach diese ID hinter Where schreiben kann.
    Jetzt zu meinem Problem, wenn ich das tue wird die komplette Tabelle gelöscht und das sollte eigentlich nicht passieren.
    Beim klick auf den Datensatz im Datagridview wird dieser in Textboxen übernommen und das funktioniert ebenfalls einwandfrei.
    Also sollte er eigentlich nur den Datensatz löschen der auch die Datensatznummer enthält und nicht die ganze Tabelle.
     
    Ich habe wirklich bisher alles versucht. Ich habe eine Sicherheitskopie angelegt und anschließend etliches versucht. Ich habe die TextBox in eine Variable übertragen. Ich habe mit ' versucht, ohne '. Ich weis leider nicht mehr weiter.
    Grüsse Alexfaust77 und schonmal vielen Dank für eure Geduld

    • IP-Adresse ist Registriert
  • 24. Mai 2013 22:33 Antwort zu

    • Lars Schmitt
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 22. Jan 2008
    • Witten
    • Beiträge 381
    • Punkte 6.210
    • Moderator

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Hallo Alexfaust77,

    hast du dir deine Tabelle mal angeschaut, ob es wiklich unterschiedliche werte in der Nummern spalte drinstehn?

    Vile Grüße lars
    • IP-Adresse ist Registriert
  • 24. Mai 2013 22:40 Antwort zu

    • alexfaust77
    • Top 75 Mitwirkender
    • Registriert am 14. Jan 2013
    • Beiträge 22
    • Punkte 230

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Hallo Lars,
    vielen Dank für deine Antwort.

    Ja ich  habe die Tabelle überprüft und ist alles in Ordnung es sind 112 Zeilen und jede ID ist nur 1 mal vorhanden.
    Mein Programmcode ist so in Ordnung ?


    grüsse Alex
    • IP-Adresse ist Registriert
  • 25. Mai 2013 23:57 Antwort zu

    • Lars Schmitt
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 22. Jan 2008
    • Witten
    • Beiträge 381
    • Punkte 6.210
    • Moderator

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Hmm,

    Zwar kein erklärung warum alles gelöscht wird, aber müßte es nicht so sein?

    "DELETE * from Tabelle1 WHERE Nummer = "+textbox1.text 
    oder halt per string.format

    viele Grüße
    Lars
    • IP-Adresse ist Registriert
  • 26. Mai 2013 19:36 Antwort zu

    • alexfaust77
    • Top 75 Mitwirkender
    • Registriert am 14. Jan 2013
    • Beiträge 22
    • Punkte 230

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Hallöle, 

    danke für den Lösungsvorschlag, ich werde das sofort ausprobieren :-)

    Grüsse Alex
    • IP-Adresse ist Registriert
  • 26. Mai 2013 20:34 Antwort zu

    • alexfaust77
    • Top 75 Mitwirkender
    • Registriert am 14. Jan 2013
    • Beiträge 22
    • Punkte 230

    Problem mit SQL Befehl Delete in Verbindung mit Zugriff auf Access Datenbank

    Hallo Lars,

    vielen Dank, es funktioniert :-)

    Grüsse Alex
    • IP-Adresse ist Registriert
Seite 1 von 1 (6 Treffer)

Regeln | Impressum