' öppna databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open = Application("db_databaskopplingen")
' släng in ett nytt foruminlägg
strSQL = "INSERT INTO forumposts (cPostedBy, cHeadline, cMessage, cForumID, cDate, cLastPost, cLastPostName, cNotification, cViewed, cAnswered)"
strSQL = strSQL & " VALUES ('" & Session("userName") & "','" & strHeadline & "','" & strMessage & "'," & intForumID & ",'" & dateDatum & "','" & dateDatum & "','" & Session("userName") & "','" & strNotification & "','','" & Session("userID") & "')"
Connect.Execute(strSQL)
'Response.Write strSQL
' ta ut senaste ID
Set RecSet = Connect.Execute("SELECT LAST_INSERT_ID()")
readID = RecSet(0)
Men detta fungerar inte. Jag har sökt här på webForum och detta är koden jag fick fram.
En grej jag undrar är hur detta kan fungera när man inte specifierar vilken tabell i databasen det gäller, bör inte SQL-satsen se ut så här:
SELECT LAST_INSERT_ID() FROM tabellen
Eller? Jag har givetvis också provat detta utan resultat. Variabeln readID sätts bara till noll (0) i båda fallen.
Det ärså det är tänkt att fungera. Du måste göra selecten direkt efter insert på en tabell med en auto_increment kolumn och det skall inte vara något tabellnamn med.
388 ms totalt · 4 externa anrop · v20260731065814-full.14655e19