WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   id (primary key)-Problem (http://www.wcm.at/forum/showthread.php?t=53031)

ben81 12.04.2002 20:41

id (primary key)-Problem
 
Ich habe ein kleines Forum programmiert und eigentlich funktioniert auch schon alles.

Nun habe ich aber folgendes Problem:
Wenn jemand ein neues Thema eröffnet, so soll er gleich nach dem Abschicken seines "Eröffnungs-Postings" in den Thread gelangen (wo momentan nur seine Nachricht steht).
Das Problem dabei ist, die ID dieses Postings herauszufinden. Natürlich könnte ich einfach die größte (neueste) ID suchen und anhand dieser den Thread öffnen. Wenn aber jemand inzwischen ebenfalls einen neuen Thread aufmacht, dann kommt der vorherige Benutzer allerdings nicht in seinen sondern in den neuesten Thread.


Wer kennt sich da aus?

Danke!

(Ich hab' das Forum mit ASP und ACCESS gemacht, aber PHP/MySQL-Lösungen verstehe ich auch.)

pc.net 12.04.2002 21:19

ich weiß das jetzt nur von oracle, aber für ein automatisches befüllen einer id wird meist eine sequence bemüht - du könntest dann ja beim insert des satzes ja den value der sequence in einer variable zwischenspeichern und die dann verwenden ...

vielleicht hilfts dier ja ... ;)

ben81 12.04.2002 23:23

Ich weiss nicht, ob ich das jetzt richtig verstanden habe.
Zum einen kann ich mit dem Begriff "Sequence" nichts anfangen, zum anderen wüßte ich nicht, wie ich "während" eines Insert-Befehls an die ID (welche da gerade automatisch vergeben wird) rankommen soll.

Aber trotzdem Danke!

ben81 13.04.2002 00:06

Habe derweil Folgendes gefunden:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79

Funktioniert halt leider "nur" mit dem RecordSet-Objekt. Weiss jemand eine Lösung fürs Connection-Objekt?

Flink 15.04.2002 09:48

Ich rate auch wie pc.net zu Sequences wie ORACLE. Weil es das bei ACCESS wohl nicht gibt (Vermutung), erstelle dir eine Tabelle ID mit nur einem Feld, wo du die letzte Id abspeicherst. Jeder muß zuerst diese Tabelle ID sperren, liest den Wert aus, erhöht ihn um 1, schreibt den Wert zurück. Diese id verwendet er dann zum Schreiben des Datensatzes in die Posting-Tabelle. Damit weiß auch die Anwendung, welche id geschrieben wird.

darthmaul 16.04.2002 21:20

Ziemlich billig!
 
Einfach eine Access Tabelle mit einem Autowert Feld und dem
Datentyp LONG INTEGER oder Replikations-ID (=GUID) anlegen.

Im ASP-Skript mit Application.Lock die Anwendung sperren und
einen neuen DS anlegen, ID merken und Anwendung mit
Application.Unlock wieder freigeben. Das war's.

Grüsse
dARTHmAUL


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag