AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatz mit Zwischentabelleneinträgen kopieren

Datensatz mit Zwischentabelleneinträgen kopieren

Ein Thema von hirnstroem · begonnen am 4. Mai 2007 · letzter Beitrag vom 4. Mai 2007
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Datensatz mit Zwischentabelleneinträgen kopieren

  Alt 4. Mai 2007, 07:55
Datenbank: Access • Version: kA • Zugriff über: ADO
'loha Folks,

Die Tabellen Device (DeviceID) und Key (KeyID) stehen über die Zwischentabelle Device_Key (DeviceID, KeyID, Access) miteinander in Beziehung. Beim Kopieren eines Datensatzes aus der Tabelle Device, sollen sämtliche Einträge in der Zwischentabelle Device_Key mitkopiert werden.

Es geht darum, Zutrittsberechtigungen für Schlüssel beim Kopieren eines Gerätes beizubehalten.

Ich - unwissender - würde nun mit einer Abfrage sämtliche Einträge aus der Zwischentabelle mit einer gewissen DeviceID ermitteln und diese anschliessend in einer Schleife abarbeiten, wobei mit abarbeiten Kopieren, neuer Datensatz Einfügen, Speichern gemeint ist. Macht das Sinn?

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datensatz mit Zwischentabelleneinträgen kopieren

  Alt 4. Mai 2007, 08:03
müsste direkt über insert into ... select gehen
Markus Kinzler
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Datensatz mit Zwischentabelleneinträgen kopieren

  Alt 4. Mai 2007, 08:28
Vielen Dank mkinzler, das hat mich ein Stück weitergebracht.

Ich frage mich nur noch, wie anstatt der DeviceID des kopierten Datensatzes, jene des neuen Datensatzes als Parameter mitgegeben werden kann. SQL sieht bisher in etwa folgendermassen aus:

SQL-Code:
INSERT INTO Device_Key
SELECT
DeviceID, KeyID, LockedAccess
FROM
Device_Key
WHERE
DeviceID = :CopyDeviceID
Nun möchte ich analog zu :CopyDeviceID noch die :NewDeviceID mitgeben, komme aber nicht darauf wie das geht.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datensatz mit Zwischentabelleneinträgen kopieren

  Alt 4. Mai 2007, 08:39
SQL-Code:
INSERT INTO Device_Key
SELECT
DeviceID, :NewDeviceID, LockedAccess
FROM
Device_Key
WHERE
DeviceID = :CopyDeviceID
Markus Kinzler
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Datensatz mit Zwischentabelleneinträgen kopieren

  Alt 4. Mai 2007, 09:50
Argh, und ich habe es genau so machen wollen. Leider vergass ich in der Tabelle Device zuerst ein Gerät mit entsprechender ID, nämlich jener, welche ich in Device_Key einzufügen versucht habe, zu erstellen.

So sieht es jetzt aus:

SQL-Code:
INSERT INTO Device_Key(DeviceID, KeyID, LockedAccess)
SELECT
:NewDeviceID, KeyID, LockedAccess
FROM
Device_Key
WHERE
DeviceID = :CopyDeviceID
Vielen Dank!
inde deus abest
  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 13:31 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