AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Inhalt der PK-Spalte auf Integrität prüfen

Inhalt der PK-Spalte auf Integrität prüfen

Ein Thema von Ducksoul · begonnen am 19. Feb 2010 · letzter Beitrag vom 19. Feb 2010
Antwort Antwort
Ducksoul

Registriert seit: 19. Apr 2006
Ort: Ilmenau
87 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Inhalt der PK-Spalte auf Integrität prüfen

  Alt 19. Feb 2010, 13:20
Datenbank: Access • Version: 2007 • Zugriff über: TADO
Hallo,
ich bin dabei ein Import- und Exportprogramm zu schreiben, mit dessen Hilfe sich bestimmte Datensätze zwischen Datenbanken hin- und herschieben lassen..

Da die Datenbanken sich je nach Versionsnummer des Programms im Aufbau unterscheiden können, wird an jeder Tabelle vor dem Import eine Strukturprüfung ausgeführt.
Inzwischen bin ich auf das Problem gestoßen, dass beim Import eines Datensatzes dieser ja einen schon vorhandenen Primärschlüssel besitzen kann. Sind 2 Zeilen mit dem gleichen Primärschlüssel vorhanden, so soll einfach eine der beiden gelöscht werden.

Ich weiß allerdings nicht wie ich die Sache angehen soll. Am einfachsten wäre es glaube ich beim fehlerhaften Kopieren die Exception abzugreifen. Gibt es vielleicht noch elegantere Lösungen?

Gruß
Franz
Franz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Inhalt der PK-Spalte auf Integrität prüfen

  Alt 19. Feb 2010, 13:38
Bei Access ist es schwer, bei richtigen DBMS gibt es MERGE, Insert or Update o.ä. Hierbei werden vorhandene DS upgedatet
Markus Kinzler
  Mit Zitat antworten Zitat
Ducksoul

Registriert seit: 19. Apr 2006
Ort: Ilmenau
87 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: Inhalt der PK-Spalte auf Integrität prüfen

  Alt 19. Feb 2010, 13:41
Die DB kann ich mir allerdings nicht aussuchen.
Franz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Inhalt der PK-Spalte auf Integrität prüfen

  Alt 19. Feb 2010, 13:51
Access ist nunmal kein richtiges DBMS (imho).
Du könntest das per Makro machen oder in einer externen Programmiersprache:
Erst Abfragen ob ID vorhanden ( select count(id) from <Tabelle> where id = :id; )
Dann entsprechend Insert/Update durchführen)
Markus Kinzler
  Mit Zitat antworten Zitat
Ducksoul

Registriert seit: 19. Apr 2006
Ort: Ilmenau
87 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Inhalt der PK-Spalte auf Integrität prüfen

  Alt 19. Feb 2010, 13:55
Hm ja das klingt doch schonmal hilfreich.

Ich prüfe also, ob der Schlüssel in der einen DB schon vorhanden ist, was im besten Fall nicht so ist, im schlechtesten Fall würde ich ihn einfach löschen und dann den Datensatz kopieren.

Mal schauen, ob ich das so hinkriege.

Vielen Dank
Franz
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:06 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