Autor Thema: Eintrag aus DB2-Tabelle löschen  (Gelesen 1685 mal)

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Eintrag aus DB2-Tabelle löschen
« am: 26.06.03 - 10:38:38 »
Moin,

habe folgendes Problem:

Ich möchte über einen Agenten einen Eintrag aus einer Tabelle (DB2-Datenbank) löschen.

Das Script sieht wie folgt aus:

qry.SQL = "SELECT * FROM Table where xy = '" & searchkey &"'"
result.Execute
result.LastRow
result.FirstRow
result.deleteRow("Table")

Problem:
Wenn ein Eintrag einmal in der Tabelle vorhanden ist, wird er ohne Probleme gelöscht. Wenn aber ein Eintrag doppelt oder x-mal vorkommt nicht. Kann mir jemand sagen woran das liegt.

Bin für jede Hilfe dankbar.

Andreas

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Eintrag aus DB2-Tabelle löschen
« Antwort #1 am: 26.06.03 - 12:46:45 »
Hi,

<Warnung: das ist ungetestet / >
Ich vermute mal das Objekt result ist eine Instanz der Klasse ODBCResultset, right?

Gut. Bist du wirklich sicher, dass der code wie er ist bei einem ResultSet mit > 1 Elementen nix löscht?

Ich glaube er löscht nämlich schon was. Und zwar genau den ersten Datensatz dieses ResultSets weil:

Code
result.LastRow
Tabellen-Cursor in DB springt auf letzte Zeile in ResultSet.
Code
result.FirstRow
Tabellen-Cursor in DB springt auf erste Zeile in ResultSet.
Code
result.deleteRow("Table")
Zeile auf dem der Tabellen-Cursor der Datenbank steht bitte löschen.

Es wird also nicht das ganze Resultset gelöscht, sondern nur die erste Zeile. Dieses Resultset ist je nach Aufbau der Tabelle und des Querys nicht unbedingt sortiert!

Du musst durch das ganze Resultset iterieren.

Hab das mal aus der Hilfe kopiert und ein bischen verändert:

Code
qry.SQL = "SELECT * FROM Table where xy = '" & searchkey &"'"
result.Execute
Do
          result.NextRow
          result.deleteRow("Table")
          
Loop Until result.IsEndOfData

Probier das einfach mal aus und berichte mir bitte ob das funktioniert.

Gruss Axel
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re:Eintrag aus DB2-Tabelle löschen
« Antwort #2 am: 26.06.03 - 13:13:56 »
Danke, ich denke das Problem hat sich erledigt.
Es konnte kein Eintrag gelöscht werden, da keine Eindeutigkeit bestand.
Ich werde einfach eine Eindeutigkeit herstellen.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz