AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatzfeld BEIM speichern wieder abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatzfeld BEIM speichern wieder abfragen

Ein Thema von Overclocker · begonnen am 22. Mai 2008 · letzter Beitrag vom 24. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 21:06
Datenbank: access • Zugriff über: ado
Hi,

folgendes Problem:
2 Tabellen

1. Tabelle: --> Userdaten
2. Tabelle: --> Infos


Wenn ich einen Useranlege, wird die Userid automatisch angelegt (also AUTOWERT).
Gleichzeitig möchte ich beim Speichern dieses Users in die Tabelle Infos auch einen "leeren" Datensatz speichern, wo bereits diese Userid vorhanden ist.

Wie kann ich das ganze machen ohne einen Query auf die Datenbank machen zu müssen um an diese Userid zu gelangen?

Ich hoffe ihr versteht was ich meine

Danke für die Hilfe
  Mit Zitat antworten Zitat
Pluto

Registriert seit: 1. Dez 2005
Ort: Dietzenbach
53 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 21:24
Ich kenn mich mit Access nicht aus.

Bei meiner Datenbank würde ich einen Trigger setzen.
Der kann dann, eventuell über eine stored procedure, die ID in die zweite Tabelle eintragen.
begin
if Aufwand > Ergebnis then exit;
end;
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#3

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 21:39
ja das leider access, in sql datenbanken kann man ja auch programmieren.

mir gehts im endeffekt darum, dass in der tabelle infos ein datensatz mitd er userid ist, damit ich auf diese tabelle einen query ausführen kann und dann sozusagen diese userid finde und die restlichen leeren felder nur noch mit einem UPDATE füllen muss

keiner eine idee?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 21:43
Vielleicht auf autoinc verzichten
Markus Kinzler
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#5

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 21:50
ja würd auch gehen

ich könnte auch nochmal mit allen parametern des users (name,vorname etc.) nen query drauf machen und so die ID herausbekommen aber ich wollte es einfach kürzer lösen und v.a. wenn ichs ohne autoinc mache dann hab ich noch mehr qrys weil ich ja so den letzten datensatz ermitteln und den dann um 1 hochzählen müsste.
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#6

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 22:34
Zitat von Overclocker:
Wie kann ich das ganze machen ohne einen Query auf die Datenbank machen zu müssen um an diese Userid zu gelangen?
ich stell mir grad 'n paar fragen ...
  • was hast du gegen 'n select?
  • weshalb möchtest du keinen primary key?
denke der user sollte doch systemweit eindeutig festgelegt sein, das wäre doch die optimale voraussetzung für einen primärschlüssel . mein tipp, vergiess dein AutInc, das macht nur kopfschmerzen, nimm stattdessen 'n ordentlichen primärschlüssen, wie z.b. die UID. diese kannst beim speichern prüfen auf eindeutigkeit und für zukünftige abfragen und inserts ist er dann eindeutig

<HTH>
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#7

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 22:53
ich will sowas wie in sql

last_insert_id() heißt

nur wie geht das in access? in access kommt hier nämlich ein fehler.

das select @@identity bringt mir nichts weil ich exakt den WERT benötige
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#8

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 22:56
so etwas gibts nicht in standard SQL. wie gesagt mein tipp, vergiss die krankheit autoInc. mach 'n ordentlichen primary key und alles funzt ...
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#9

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 23:02
die userid ist ja ein primärschlüssel nur halt als autowert *g*

meinst du ich sollte das autoinc weg lassen und mir den wert selbst errechnen?

wie oben schon geschrieben wären das dann ncoh mehr querys und programmtext als wenn ich jetzt noch 1 query mit name,vorname,strasse etc. auf die tabelle mache

oder meinst du was anderes?
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#10

Re: Datensatzfeld BEIM speichern wieder abfragen

  Alt 22. Mai 2008, 23:06
Zitat von Overclocker:
die userid ist ja ein primärschlüssel nur halt als autowert *g*

meinst du ich sollte das autoinc weg lassen und mir den wert selbst errechnen?

wie oben schon geschrieben wären das dann ncoh mehr querys und programmtext als wenn ich jetzt noch 1 query mit name,vorname,strasse etc. auf die tabelle mache

oder meinst du was anderes?
'n autoinc ist 'n schrott, ist max. für normale felder geeignet. aber nicht als schlüsselkanidat.

lass doch 'ne UID eingeben, prüf ab, wenn sie existiert, gibts 'ne meldung user kann nicht angelegt werden, da er bereits besteht, sonst leg die nötigen felder an. wenn du die UID einheitlich formatierst, z.b. OVERLOCKER kannst auch problemlos als (fremd)schlüssel in andernen tabellen verwenden. wo liegt das probelem? solltest nur drauf achten, dass die schlüssel einheitlich formatiert sind und nicht zu lang geraten.. dafür kannste dann attribute vergeben...
  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 12:42 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