neuester Datensatz ohne Datum und Timestamp

cplume

Mitglied
Hallo,
ich möchte den neuesten Datensatz abfragen, habe aber in der Tabelle kein Datum oder Timestamp mit dem Datensatz abgespeichert.

Geht das trotzdem?

so long
CP
 
Hi!

Da jeder Datensatz eine eindeutige ID haben muß, geht das meist schon. Wenn Du AutoID's nutzt müßtest nur herausbekommen welche die letzte ID ist, dann kannst Du anhand der ID den Datensatz abrufen.

MfG
..::SD::..
 
nein habe ich nicht, da ich gerade mit einer primitivst Tabelle arbeite ;-)

Code:
CREATE TABLE Employee (eid int, fname varchar(20), lname varchar(20))

kann ich nicht den untersten Datensatz filtern, sollte doch der aktuellste sein, oder?

so long
cp
 
Hi!

Also wenn mich nicht alles täuscht, ist "eid" Deine eindeutige ID in der Datenbank?! Nach dieser kannst Du filtern...

..::SD::..
 
Guten Morgen,
der Name ist zwar eid, ich kann diese jedoch manuell angeben. Zudem kann ich diese auch doppelt vergeben.
Der schein trügt ;-)

sonst wäre das ja kein Problem

so long
CP
 
wäre das möglich?

Nochmal das drum herum:
Ich füge einen Datensatz per Formular ein. Der Kunde soll eine Auftragsnummer mit Datum zurückbekommen. Da ich mich in deiner Multiuserumgebung befinde kann ich das nicht über das Datum und dem neuesten Datensatz realisieren.
Ich verwende folgende Prozedur:
Code:
USE Northwind
GO

CREATE PROC sp_insert_employee @empdata text
AS
	DECLARE @hDoc int
	EXEC sp_xml_preparedocument @hDoc OUTPUT, @empdata
	INSERT INTO Employee
	SELECT *
	FROM OPENXML (@hDoc, '/root/Employee',3)
	WITH Employee
	EXEC sp_xml_removedocument @hDoc

Ist es nun möglich die Variable hDoc dazu zu verwenden die Auftragsnummer und das Datum zurückzugeben.

Nur wie

so long
CP
 
Hi!

Ich versteh nicht warum man eine ID doppelt vergeben will, definier doch einfach die Spalte "eid" als eindeutig, dann hast DU das Problem nicht mehr. Irgendetwas muß ja eindeutig sein in der Tabelle. Wo kommt denn die Auftragsnummer und das Datum auf einmal her? In Deinem ersten Post hieß es noch Du hast kein Datum oder sonstiges.... *verwirrt* Wenn Du ein Datum hast, speicherst Du es doch sicher in der Datenbank irgendwo?

..::Six Dark::..
 
Da hast Du recht, woher kommt das Datum auf einmal.

ich habe meiner Tabelle mittlerweile ein Datum (getdate()) angefügt und eid als eindeutig definiert. ;-)
Ist doch sinnvoller.

Das Problem besteht aber nach wie vor, der Kunde soll die eid = Auftragsnummer und das Datum (wird ja jetzt beides automatisch vom Server generiert) nach dem Submit zurück erhalten.

Nur durch was ist sichergestellt, das es auch die gleiche Nummer ist wie sein Auftrag, wenn ein zweiter Kunde im gleichen Augenblick submit gedrückt hat

Geht das mit hDOC Auswertung
Wie kann ich zudem Fehlermeldungen vom Server abfangen und auswerten, wenn z.B. die Feldgröße überschritten wird. In diesem Fall wird der Datensatz nicht gespeichert!

so long
CP
 
setze eid auf autoincrement.

dann musst Du nur den größten wert abfragen, schon hast Du den neusten Eintrag.

beschäftige Dich mal mit DB Design.
 
den größten Wert bekomme ich mit
ORDER BY eid DESC
nur wie kann ich die Ausgabe nur auf einen Datensatz beschränken.

LIMIT ist bei SQL Server 2k nicht möglich, oder?

Wie kann ich Eingabefahler abfangen?

so long
CP
 
Zurück