Wie bekomme ich die Einfüge-ID von diesem ADODB.Recordset?

8

Ich versuche gerade SQL-Abfragen in meiner Web-App zu vermeiden. Ich schaute mich um und kam zu dem Schluss, dass ADO Recordset s das beste oder zumindest sicherste Tool für den Job wäre. Ich muss Datensätze in eine Datenbanktabelle einfügen. Leider weiß ich nicht, wie ich den Identitätswert für den gerade eingefügten Datensatz erhalten soll. Hier ist eine Reduzierung von dem, was ich jetzt habe:

%Vor%

Der Code, den ich habe, fügt den Datensatz erfolgreich ein, aber ich kann nicht für das Leben von mir herausfinden, wie man das ID-Feld von Recordset nach dem Einfügen aktualisiert. Wie kann ich den Identitätsspaltenwert von diesem Recordset zurückholen?

UPDATE - Hier ist die Lösung in Bezug auf den obigen Code.

Ich musste den Cursor-Typ in adOpenKeyset anstelle von adOpenForwardOnly ändern. Nachdem ich dies getan habe, wird der Datensatz automatisch mit dem neuen Wert des Felds "auto number" nach dem Einfügen aktualisiert. Es ist jedoch nicht was Sie denken, dass es ist. Der Wert von rs("id") wird nicht zu einer ganzen Zahl oder gar einer Variante. Es wird zu einer Art Automation type und kann nicht als Zahl ausgewertet werden. Auch kann CInt () aus irgendeinem Grund nicht direkt für diesen Typ verwendet werden. Sie müssen also den Wert in einen String konvertieren und ihn dann in Int konvertieren. So habe ich das geschafft:

%Vor%

Danke an Dee für ihre Antwort. Es hat enorm geholfen.

    
sholsinger 31.03.2011, 21:17
quelle

1 Antwort

3

In diesem Artikel wird erläutert, wie Identitätswerte mit Beispielcode abgerufen werden können. Wenn Sie danach mehr Hilfe benötigen, lassen Sie es uns wissen

Ссылка

    
Dee 31.03.2011, 21:32
quelle

Tags und Links