SharkieMedlem sedan okt. 2003865 inlägg
Hoj!
Ett litet problem i ASP-stugan här, blir knäpp så det står härliga till ;)
Jag försöker med
Kod:
Set rstLastID = Conn.Execute("SELECT @@IDENTITY")
lngLastID = rstLastID(0)
Set rstLastID = Nothing
(funnen här på aspsidan) och försöka få fram det senaste IDt.
Innan har jag en INSERT-SQL och använder Conn.execute(SQL),,128
därefter kommer den koden.
Kruxxet (eller?) är att jag vill ta ut UserID (är primärnyckel) som innehåller räknare med {1209-912kjds-asödj-9u2dkj-aösdjk} etc...
Går det/går det inte på nått vis?
Det ska skickas med ett mail direkt och det ger då 0 hela tiden men i databasen står det ett nytt ID och all information jag skapat precis innan.
Använder Access.
Har efter besök på annat forum testat "vanlig" databaskoppling och med JET (ODBC och OleDB) men ger fortfarande bara 0 som resultat.
@ndersMedlem sedan juni 200026 914 inlägg
Du får ha en räknare och hämta ut den enligt metoden du beskriver. Sedan är det bara att ställa en ny SQL-fråga med ID:t som villkor. Om inte det går att göra något sånt här, kanske:
SELECT UserID FROM tabellen WHERE ID = @@IDENTITY
Har inte testat, så jag vet inte riktigt, men prova kan du ju alltid.
mvh
PoffeMedlem sedan apr. 20022 935 inlägg
Möjligt att @nders kod fungerar men detta vet jag gör det iallafall :)
Set objRs = objCon.Execute("Select @@identity")
lngID = objRs(0)
objRs.Close: Set objRs = Nothing
Kör detta direkt efter din Insert.
@ndersMedlem sedan juni 200026 914 inlägg
Poffe, det är ju den koden Sharkie använder idag, så det tillför inte så mycket. ;)
PoffeMedlem sedan apr. 20022 935 inlägg
Hehe, oj :r
Den koden fungerar i alla fall utmärkt för mig, så varför den inte fungerar för Sharkie vette fan :l
@ndersMedlem sedan juni 200026 914 inlägg
Poffe skrev:
så varför den inte fungerar för Sharkie vette fan :l
Det beror på att den endast returnerar ID för en vanlig heltalsräknare, inte replikerings-ID.
SharkieMedlem sedan okt. 2003865 inlägg
Replikerings-ID - där va ordet :P
Jag ska pröva @nders kod lite senare i eftermiddag/kväll, återkommer då när det inte funkar ;)
SharkieMedlem sedan okt. 2003865 inlägg
Felmeddelande skrev:
Syntaxfel (operator saknas) i frågeuttrycket 'ID = @@IDENTITY'.
:OO
La till en ny kolumn med ID, satte den som räknare med långt heltal och lät även den vara Primärnyckel.
Ovanstående fel uppkommer.
IDet = "SELECT UserID,ID FROM tabell WHERE ID = @@IDENTITY"
Så är min kod.
@ndersMedlem sedan juni 200026 914 inlägg
Då får du nog göra som jag skrev ovan, dvs innan "om inte".
Mvh
SharkieMedlem sedan okt. 2003865 inlägg
Det hänger jag inte med på faktiskt riktigt... förklara gärna lite närmare. Ska sätta mig i morgon igen och försöka igen, kanske hinner lösa det innan nån reagerar här ;)
@ndersMedlem sedan juni 200026 914 inlägg
SQL-fråga för att hämta ut räknarvärdet:
strSQL = "SELECT @@IDENTITY"
set objRS = objConn.Execute (strSQL)
SQL-fråga med räknarvärdet som villkor:
strSQL = "SELECT * FROM tabellen WHERE ID = " & objRS(0)