AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Neue Datensätze abfragen und kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neue Datensätze abfragen und kopieren

Ein Thema von cka · begonnen am 30. Mär 2005 · letzter Beitrag vom 1. Apr 2005
Antwort Antwort
cka

Registriert seit: 27. Apr 2003
3 Beiträge
 
#1

Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 01:54
Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO
Hallo,

ich frage einen SQL Server ab und stelle die Daten in einem DBGrid dar. Die Abfrage wird über einen Timer ständig aktualisiert. ( Abfrage von Lieferscheinen und Rechnungen ) Nun möchte ich die neu hinzugekommenen Datensätze in eine andere Tabelle (db oder dbf )schreiben. Wie kann ich das machen? Und wie kann ich sicherstellen, dass nur die neuen Datensätze genommen werden?

Danke schön für Eure Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 01:56
Wie unterscheiden sich denn neu von alten Datensätzen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 02:04
Zeitstempel!
Ich hätte fast mehr dazu geschrieben... Bis ich
Zitat:
Nun möchte ich die neu hinzugekommenen Datensätze in eine andere Tabelle (db oder dbf )schreiben.
gelesen habe.
Damit will ich nichts zu tun haben...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 02:04
Zitat von cka:
Hallo,

...Die Abfrage wird über einen Timer ständig aktualisiert...
Würde mich mal interessieren, wie du das machst. Etwas Code wäre sinnvoll und könnte Rückschlüsse zulassen. Desweiteren mußt du mal den Sinn eines Timers erklären. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 02:15
Zitat von Robert_G:
Zeitstempel!
Das war mehr eine sokrates Frage, auf seine Frage:
Zitat:
Und wie kann ich sicherstellen, dass nur die neuen Datensätze genommen werden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#6

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 02:23
Zitat von cka:
Hallo,

ich frage einen SQL Server ab und stelle die Daten in einem DBGrid dar. Die Abfrage wird über einen Timer ständig aktualisiert. ( Abfrage von Lieferscheinen und Rechnungen ) Nun möchte ich die neu hinzugekommenen Datensätze in eine andere Tabelle (db oder dbf )schreiben. Wie kann ich das machen? Und wie kann ich sicherstellen, dass nur die neuen Datensätze genommen werden?

Danke schön für Eure Hilfe
*rofl*

Ändere doch einfach die Zielparameter.
PS: Ich hoffe du lädst die Tabelle nicht immer wieder neu, mit deinem Timer
  Mit Zitat antworten Zitat
cka

Registriert seit: 27. Apr 2003
3 Beiträge
 
#7

Re: Neue Datensätze abfragen und kopieren

  Alt 30. Mär 2005, 23:48
Hallo und danke für das rege Interesse. Ich bin Anfänger, mache meine ersten Schritte mit Abfragen von Tabellen auf einem MS SQL Server. Also es werden Rechnungen geschrieben in einer großen Faktura. Diese sammle ich über mehrere Tabellen und Spalten in meine ADOQuery ein. Sicher antiquarisch aber funtionierend lasse ich diese Abfrage über den Timer abhängig von jeweiligen Datum immer wieder refreschen. Somit werden die jeweils neu erstellten Rechnungen in die Query geschrieben. Es gibt eine Spalte, die die Versandart der Ware beinhaltet (z.B. UPS Standard ) Alle diese Rechnungen mit Kennzeichen UPS will ich in eine Tabelle kopieren um Sie weiterzuverarbeiten, zB. XML Datei erstellen um die Versandsoftware von UPS zu füttern. Ich muss nun abfragen welche neue Rechnung hinzugekommen ist um diese neue Rechnung in die Tabelle zu schreiben, um daraus wieder einen UPS Aufkleber zu machen.
Ich habe heute dies erreicht in dem ich das Vorhandensein von Rechnungsnummern in der Tabelle und der ADOQuery abfrage mit Locate. Wenn nicht, dann schreibe Datensatz in die Tabelle und wenn doch lasse ihn aus. Es funktioniert. Aber es gibt bestimmt bessere Lösungen um aus einer ADOQuery eine UPS geeignete XML zu machen. Ich darf aber nicht auf die Tabellen vom SQL Server schreiben. Vielleicht gibt es ja jemand der sich mit meinen Problem beschäftigen will.

Danke
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Neue Datensätze abfragen und kopieren

  Alt 31. Mär 2005, 00:50
Zitat von Luckie:
Zitat von Robert_G:
Zeitstempel!
Das war mehr eine sokrates Frage, auf seine Frage:
Zitat:
Und wie kann ich sicherstellen, dass nur die neuen Datensätze genommen werden?
Genau.
Scheint aber zu funktionieren.

Kommen wir zurück zum Zeitstempel...
Du sagst, du darfst in der Tabelle nichts ändern...
Besitzt die Tabelle ein Feld, in dem die letzte Änderung vermerkt wird?
Wenn nicht: Darfst du ein Feld an die Tabelle hängen in dem genau das passiert? (also einfach per Trigger bei Insert/Update die aktuelle Systemzeit in das Feld eintragen )
Wenn es eine Tabelle von einer externen Software ist, die implizites DML/SELECTs darauf fährt wird es wohl zu Problemen führen...
Möglich wäre jetzt eine zweite Tabelle, in der du den PK deiner Tabelle mit der aktuellen Zeit vermerkst. (Äußerst unschön, aber besser als eine zickende Fremdanwendung )

Warum das Ganze? Sollte eigentlich klar sein...
Jetzt brauchst du nur die Datensätze abfragen, die nach deiner letzten Abfrage hinzugekommen/geändert wurden.

Paradox, dBase und den ganzen anderen BDE-Mist vergessen wir jetzt mal ganz schnell.
Willst du diese Informationen lokal ablegen, damit sie eine zweite Anwendung von dir verwerten soll würde sich eine suche in der CodeLib nach der dpCollectiondpCollection lohnen. Damit könntest du es schön transparent ablegen und wieder auslesen.

Ich hoffe, dass dir ein paar Ideen davon helfen...
  Mit Zitat antworten Zitat
cka

Registriert seit: 27. Apr 2003
3 Beiträge
 
#9

Re: Neue Datensätze abfragen und kopieren

  Alt 1. Apr 2005, 00:34
Danke schön für die Tips. Ich werde mal suchen gehen. Schön wäre, wenn ich eine Codebeispiel für das Schreiben auf eine SQL Tabelle/Spalte bekommen kann. Oder wo es steht.Ich soll rückwärts die Paketnummer der UPS Lieferung in eine Spalte einer Tabelle zurück schreiben.
Danke
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:12 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