INSERT data, tag deneste ID fra det netop indsatte RS og overfør det ID til ny tabel
Jeg har en form, som poster data i tabellen "messages". Det virker fint nok:Conn.Execute("INSERT INTO messages (author, vTitle, message, duration, dato) VALUES (" & _
"'" & SQLEncode(author) & "', " & _
"'" & Trim(SQLEncode(Request.Form("title"))) & "', " & _
"'" & SQLEncode(Request.Form("message")) & "', " & _
"" & Request.Form("duration") & ", " & _
"'" & Dato & "')")
Jeg vil gerne lave, så hver enkelt kan se, om der er ulæste beskeder. Er de ulæste, skal RS("read") være 0 (nul)
Går man ind på siden, skal der øverst på siden postes 1 RS("read"). Den bliver ikke svær.
Så jeg hiver seneste messageID fra tabellen "messages"
Set RSmessageID = Conn.Execute("SELECT messageID FROM messages ORDER BY messageID DESC LIMIT 1;")
Det virker helt fint.
Jeg hiver samtlige brugernavne tabellen "users"
Set RSMessageUserName = Conn.Execute("SELECT username FROM users")
Jeg har ikke lige testet den endnu, men den burde hive samtlige usernames
Dem vil jeg så smide ind i tabellen "messages_read"
Conn.Execute("INSERT INTO messages_read (messID, username_read) VALUES (" & _
"" & xID & ", " & _
"'" & xUser & "')")
Men der sker intet. Der kommer ikke noget med over. Hvad laver jeg galt? Det burde være så simpelt.
Hele scriptet:
Conn.Execute("INSERT INTO messages (author, vTitle, message, duration, dato) VALUES (" & _
"'" & SQLEncode(author) & "', " & _
"'" & Trim(SQLEncode(Request.Form("title"))) & "', " & _
"'" & SQLEncode(Request.Form("message")) & "', " & _
"" & Request.Form("duration") & ", " & _
"'" & Dato & "')")
Dim RSmessageID, RSMessageUserName, xID, xUser
Set RSmessageID = Conn.Execute("SELECT messageID FROM messages ORDER BY messageID DESC LIMIT 1;")
Set RSMessageUserName = Conn.Execute("SELECT username FROM users")
xID = RSmessageID("messageID")
xUser = RSMessageUserName("username")
Conn.Execute("INSERT INTO messages_read (messID, username_read) VALUES (" & _
"" & xID & ", " & _
"'" & xUser & "')")