AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL - Löschen aus der Ergebnismenge nicht aus der Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

SQL - Löschen aus der Ergebnismenge nicht aus der Datenbank

Ein Thema von Polarwar · begonnen am 23. Jun 2008 · letzter Beitrag vom 24. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Polarwar

Registriert seit: 14. Dez 2005
39 Beiträge
 
Delphi 2006 Enterprise
 
#1

SQL - Löschen aus der Ergebnismenge nicht aus der Datenbank

  Alt 23. Jun 2008, 14:46
Datenbank: ADS • Version: 8.1 • Zugriff über: ADSTable, ADSQuery
Hallo zusammen,

ich stehe hier gerad mal wieder auf der Leitung.

Ich führe eine SQL aus und möchte nun aus der Ergebnismenge gezielt einige Sätze löschen. Aber nur aus der Ergebnismenge und nicht aus der Datenbank selbst. Wie stelle ich sowas an..... irgendwie komm ich da heute nicht drauf?!?!

Gruß
Polarwar
Wir haben den Bezug zur Realität verloren, aber die findet uns schon wieder!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 14:51
Durch Ausschluss ?
 ... where ... and not in ( ...)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:16
Zitat von Polarwar:
Ich führe eine SQL aus und möchte nun aus der Ergebnismenge gezielt einige Sätze löschen. Aber nur aus der Ergebnismenge und nicht aus der Datenbank selbst.
Indem Du Dir nur Daten aus der DB geben lässt, die Dich interessieren.
Du musst also das SQL-Statement entsprechend aufbauen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Polarwar

Registriert seit: 14. Dez 2005
39 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:20
Durch Ausschluss???

Ich kann die Daten nicht vorher eindeutig selektieren!!!

Ich habe eine Datenmenge mit z.B. 2500 ausgewerteten Datensätzen ( In diesem Fall Rechnungen).
Nun möchte ich vor der Weiterverarbeitung spezielle Sätze, die nicht unbedingt einer Regel entsprechen,
löschen....aber natürlcih nicht aus der Datenbank, sondern nur aus der Ergebnismenge.

In nem Grid und löschen halt. Danach möchte ich mit den übrigen Sätzen noch weiter arbeiten.

Gruß
Polarwar
Wir haben den Bezug zur Realität verloren, aber die findet uns schon wieder!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:23
Ich glaube nicht das die ADS-Komponenten disconnected Datasets unterstützen und das über Transaktionen zu "simulieren" ist keine gute Idee.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:24
wenn die Tabelle eine PK hat (Annahme Name ID):

... and ID not in (12345, 12346, 12349, ...); dann sind diese aus der Ergebnismenge verschwunden.
Markus Kinzler
  Mit Zitat antworten Zitat
Polarwar

Registriert seit: 14. Dez 2005
39 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:30
Hallo,

das die ADS Kompos soetwas nicht unterstützen, habe ich mir fast gedacht. Wollte nur zur Sicherheit nochmal schauen, ob ich nicht doch auf der Leitung stehe.

Ich werde mir die Ergebnismenge nun in eine Temptable moven, in der ich dann auch löschen kann. Ist zwar unschön, aber es geht.

(drop temptable....select * into temptable from ***)

Danke trotzdem für die schnellen Antworten!
Wir haben den Bezug zur Realität verloren, aber die findet uns schon wieder!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 15:32
Oder Du nimmst eine MemoryTable. Das ist z.B. bei den RxKomponenten dabei.
Die kannst Du aus einer Query füllen und dann damit machen, was Du willst.

Aber der bessere Weg ist schon, sich nur von der DB zu geben lassen, was man wirklich haben möchte.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 18:09
Zitat:
Oder Du nimmst eine MemoryTable. Das ist z.B. bei den RxKomponenten dabei.
Ist nun Teil der JVCL, unterstützt allerdings kein SQL.
Oder VirtualTable von DevArt (CoreLabs) oder kbMemTable
Markus Kinzler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: SQL - Löschen aus der Ergebnismenge nicht aus der Datenb

  Alt 23. Jun 2008, 18:19
Du könntest auch ein weiteres Feld (ich nenne es mal Prio) aufnehmen.
Der Benutzer setzt die Prio seiner Rechnungen von -3 bis +3 (default Wert ist 0)
Und dann kannst du einfach eine Where-Bedingung (WHERE ... AND (Prio>=0)) ansetzen oder auch das Filter-Property benützen.

Damit der Benutzer die Prio von vielen Datensätzen leicht ändern kann, könntest du im DBGrid die Option dgMultiSelect aktivieren.
Der Benutzer selektiert beliebig viele Datensätze und kann dann die Priorität auf einen Rutsch anpassen.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz