Link to home
Start Free TrialLog in
Avatar of Aleks
AleksFlag for United States of America

asked on

Retrieve latest ID and store in Session var ASP/VBScript

I have the following code that goes inside an insert statement. It retrieves the last ID inserted and saves it into a session variable. It works on ASP/JavaScript page but mine is ASP/VBScript page.
What would the code be for ASP/VB ?

-- code --

                                          <!--set up Auto Number retrieval for SQL Server -->
     var rsNewAutoIncrement = MM_editCmd.ActiveConnection.Execute("select @@identity")
     Session("QnrId") = rsNewAutoIncrement(0).Value
     <!--rsNewAutoIncrement.Close -->
     <!--var rsNewAutoIncrement = Nothing -->
     <!--end retrieval -->

---

Full code of the insert so to make sense of what it does:

if (String(Request("MM_insert")) == "form1") {
  if (!MM_abortEdit) {
    // execute the insert
      
    var MM_editCmd = Server.CreateObject ("ADODB.Command");
    MM_editCmd.ActiveConnection = MM_bluedotjs_STRING;
    MM_editCmd.CommandText = "INSERT INTO dbo.QnrsMailed (SenderEmail, NumRec, Expireson, SentBy, IsAccepted, FirmId, Originatedby, Processtypeid, SentTo, bcc, QnreData,cc) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?)";
    MM_editCmd.Prepared = true;
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param1", 201, 1, 250, Request.Form("from"))); // adLongVarChar
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param2", 5, 1, -1, (String(Request.Form("recipients")) != "undefined" && String(Request.Form("recipients")) != "") ? Request.Form("recipients") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param3", 135, 1, -1, (String(Request.Form("expdate")) != "undefined" && String(Request.Form("expdate")) != "") ? Request.Form("expdate") : null)); // adDBTimeStamp
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param4", 5, 1, -1, (String(Request.Form("UserId")) != "undefined" && String(Request.Form("UserId")) != "") ? Request.Form("UserId") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param5", 5, 1, -1, (String(Request.Form("Status")) != "undefined" && String(Request.Form("Status")) != "") ? Request.Form("Status") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param6", 5, 1, -1, (String(Request.Form("FirmId")) != "undefined" && String(Request.Form("FirmId")) != "") ? Request.Form("FirmId") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param7", 5, 1, -1, (String(Request.Form("originatedby")) != "undefined" && String(Request.Form("originatedby")) != "") ? Request.Form("originatedby") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param8", 5, 1, -1, (String(Request.Form("process")) != "undefined" && String(Request.Form("process")) != "") ? Request.Form("process") : null)); // adDouble
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param9", 202, 1, 255, Request.Form("to"))); // adVarWChar
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param10", 202, 1, 255, Request.Form("bcc"))); // adVarWChar
    MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param11", 201, 1, -1, Request.Form("comments"))); // adLongVarChar
      MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param12", 202, 1, 255, Request.Form("cc"))); // adVarWChar
    MM_editCmd.Execute();
                                          <!--set up Auto Number retrieval for SQL Server -->
     var rsNewAutoIncrement = MM_editCmd.ActiveConnection.Execute("select @@identity")
     Session("QnrId") = rsNewAutoIncrement(0).Value
     <!--rsNewAutoIncrement.Close -->
     <!--var rsNewAutoIncrement = Nothing -->
     <!--end retrieval -->
      
      
    MM_editCmd.ActiveConnection.Close();

    // append the query string to the redirect URL
    var MM_editRedirectUrl = "EmailQnrreadytosend.asp";
    if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
      MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1) ? "?" : "&") + Request.QueryString;
    }
    Response.Redirect(MM_editRedirectUrl)
  }
}
ASKER CERTIFIED SOLUTION
Avatar of hielo
hielo
Flag of Wallis and Futuna image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Aleks

ASKER

That returned no value, but I checked the link in your code and tried some variation, this works:

      ' set up Auto Number retrieval for SQL Server
    Set rsNewAutoIncrement = MM_editCmd.ActiveConnection.Execute("select @@identity as ID")
      Session("QnrId") = rsNewAutoIncrement(0).Value
      rsNewAutoIncrement.Close
    Set rsNewAutoIncrement = Nothing

Thank you Hielo !

A