Find korrekt id i db
Dette er en efterfølger på et tidligere spm: http://www.eksperten.dk/spm/150258Jeg skal lave en funktion i et forum som sender en mail til den personer som har oprettet et indlæg, når nogen svare på dette. Jeg har valgt at lave det ved hjælp af en tabel i en access database ved navn ”forummail” i denne tabel er der følgende felter: id, indlaegid, navn, email. Jeg har i forvejen en side hvor informationerne fra en form gennes i tabellen forumindlaeg:
<%
Response.Cookies(\"12tri\")(\"navn\") = request.form(\"navn\")
Response.Cookies(\"12tri\")(\"email\") = request.form(\"email\")
Response.Cookies(\"12tri\").Expires = Date+365
function strCorrect(strInput)
strCorrect = Replace(strInput, \"\'\", \"\'\'\")
end function
Set objConn = Server.CreateObject(\"ADODB.Connection\")
conStr = \"Provider=Microsoft.Jet.OLEDB.4.0;\"
%><!--#INCLUDE FILE=\"../include/db.inc\" --><%
objConn.Open conStr
strSQL = \"Insert into forumindlaeg (\"
strSQL = strSQL & \"navn, \"
strSQL = strSQL & \"mail, \"
strSQL = strSQL & \"overskrift, \"
strSQL = strSQL & \"indhold, \"
strSQL = strSQL & \"dato) \"
strSQL = strSQL & \"values( \"
strSQL = strSQL & \"\'\" & strCorrect(Request.form(\"navn\")) & \"\', \"
strSQL = strSQL & \"\'\" & strCorrect(Request.form(\"email\")) & \"\', \"
strSQL = strSQL & \"\'\" & strCorrect(Request.form(\"overskrift\")) & \"\', \"
strSQL = strSQL & \"\'\" & strCorrect(Request.form(\"besked\")) & \"\', \"
strSQL = strSQL & \"\'\" & now() & \"\')\"
objConn.Execute(strSQL)
objconn.close
set objconn = nothing
Response.Redirect(\"ok.asp\")
%>
Og det virker fint, men jeg har et problem, fordi der i tabellen er et felt mere end dem som der indsættes i, nemlig ”id” som er et autonumeringsfelt for at jeg kan få tilføjet en person korrekt i min mail-tabel er jeg nødt til at kende dette idnr. Jeg kunne selvfølgelig efter at dataerne er indsat åbne tabellen og vælge den med det højeste id, og antage at det var den jeg søgte. Men er det helt sikkert at gøre det på den måde, og findes der ikke en lettere måde at gøre det på ???
