strSQL = "INSERT INTO Tabell (tjosan) VALUES('hej');SELECT @@IDENTITY"
set objRS = objConn.Execute(strSQL).NextRecordSet
intNewID = objRS(0)
http://www.webforum.nu/showthread.php?s=&threadid=56907&highlight=%40%40IDENTITY
6 svar · 237 visningar · startad av alj
Jag undrar hur jag skall lösa mitt problem som jag också skrivit om i min forum tråd under "Kolla min hemsida".
Det är så att jag har gjort ett litet forum, där man kan skriva en tråd om man känner för det. När man skrivit tråden så skall man sedan skickas vidare till tråden man skrivit.
Hur skall detta gå till?
Man vet ju inte ID numret på tråden man skrivit vid detta läge, id numret får man ju automatiskt av databasen?!
Några förslag?
strSQL = "INSERT INTO Tabell (tjosan) VALUES('hej');SELECT @@IDENTITY"
set objRS = objConn.Execute(strSQL).NextRecordSet
intNewID = objRS(0)
http://www.webforum.nu/showthread.php?s=&threadid=56907&highlight=%40%40IDENTITY
OveRRidE skrev:
strSQL = "INSERT INTO Tabell (tjosan) VALUES('hej');SELECT @@IDENTITY" set objRS = objConn.Execute(strSQL).NextRecordSet intNewID = objRS(0)http://www.webforum.nu/showthread.php?s=&threadid=56907&highlight=%40%40IDENTITY
Tack för hjälpen, men får följande fel:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Tecken efter slutet av SQL-uttryck.
/batalj-forum/Skriv.asp, rad 61
Rad 61 är följande: set objRS = Connect.Execute(strSQL).NextRecordSet
På Följande kod:
Dim StrSQL, intNewID
StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now() &"#);SELECT @@IDENTITY"
set objRS = Connect.Execute(strSQL).NextRecordSet
intNewID = objRS(0)
Förstår inte så mycket nu så hoppas någon kan hjälpa mig :)
Sådär då?
Dim StrSQL, intNewID
StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now()"#)"
Connect.Execute(strSQL),,128
set objRS = Connect.Execute("SELECT @@IDENTITY FROM tblTradar")
intNewID = objRS(0)
OveRRidE skrev:
Sådär då?
Dim StrSQL, intNewID StrSQL = "INSERT INTO tblTradar(Rubrik, Email, Forfattare, Inlagg, Hemsida, Datum, Svar, Senastupd) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Now() &"#, 0,#"& Now()"#)" Connect.Execute(strSQL),,128 set objRS = Connect.Execute("SELECT @@IDENTITY FROM tblTradar") intNewID = objRS(0)
Perfa det fungerar, men blir det inte en stor effektförlust om man exekverrar två SQL strängar istället för en? Går det inte att lösa det med en SQL sträng?
Äh spela roll om det blir mindre snabbladdat tack så mycket för hjälpen :)
Det borde du inte oroa dig för, såvida du inte väntar många besökare.
Glöm inte att stänga recordset och connections bara.
OveRRidE skrev:
Det borde du inte oroa dig för, såvida du inte väntar många besökare.
Glöm inte att stänga recordset och connections bara.
Då är det nog ingen fara min sida lär knappast få mer än 5 besökare per dag.
Självklart stänger jag alltid dom :).