Autor Beitrag
Xzeer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 62



BeitragVerfasst: Sa 26.06.10 12:35 
Hallo,

Ich arbeite gerade an einem kleinen Shop.

Das Datenbankdiagramm sieht so aus:
Datenbank

Das Anlegen und Abrufen von Kunden, Artikeln und Herstellern funktioniert prima.
Allerdings habe ich beim Anlegen einer Bestellung irgendwie ein Konzeptproblem:

Ich habe ein Formular in dem man den Kunden und das Datum wählt.
Anschließend kann man die Artikel einfügen und die Menge eingeben.
Alle Daten sind also gesammelt.

Ich muss ja dann jetzt für jeden Artikel einen Posteneintrag erstellen.
Dazu brauche ich ja die BestellNR, welche ich nicht kenne, als Fremdschlüssel.

Ich komme ums verrecken nicht drauf, wie ich die Posteneinträge und anschließend die Bestellung ablegen kann.
Könnt ihr mir da helfen?
Einloggen, um Attachments anzusehen!
_________________
Xzeer
Xzeer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 62



BeitragVerfasst: So 27.06.10 19:09 
kann mir da keiner bei helfen?
das muss doch irgendwie funktionieren...

ich brauche, um die posten (artikel einer bestellung) zu erstellen die bestellnummer (fremdschlüssel).
allerdings wird die ja von der datenbank automatisch hochgezählt.

wie komme ich an die bestellnummer?

_________________
Xzeer
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 27.06.10 21:32 
Ich setzte lieber auf echte O/RMs und habe mich mit diesem Zwischending typisierte Datasets nicht lange auseinandergesetzt, aber im einfachsten Falle kann es nur so funktionieren, dass du ein INSERT für die Bestellung ausführst, dabei oder in einem darauffolgenden SELECT dessen ID bekommst und dann mit einem weiteren INSERT schließlich den Posten einfügst.

_________________
>λ=
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 27.06.10 21:55 
Keiner zwingt dich AutoIncrement Felder als Primary Keys zu verwenden. Du kannst auch einen im Client generierten Key verwenden. Üblicherweise nimmt man dazu GUIDs (der Datentyp im SQL Server heißt uniqueidentifier).
Xzeer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 62



BeitragVerfasst: Mo 28.06.10 13:40 
Okay, eine solche GUID wäre eine Möglichkeit.

Doch kann ich mir denn sicher sein, dass eine solche ID sich auf lange Zeit nicht wiederhohlt?

_________________
Xzeer
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 28.06.10 14:08 
Zitat:
Doch kann ich mir denn sicher sein, dass eine solche ID sich auf lange Zeit nicht wiederhohlt?


Wenn sich dein Zeitraum in dem du das Sicherstellen willst nicht in Billarden Jahren misst in dem Billarden User Billarden von Guids pro Sekunde erzeugen hast du kein Problem.
Xzeer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 62



BeitragVerfasst: Mo 28.06.10 14:33 
hört sich sicher genug an! :lol:

_________________
Xzeer