• User

    Recuperare in automatico l'id appena creato

    Aiutoooo non riesco a recuperare l'id del record che ho appena inserito nel db:

    Tipo di errore:
    ADODB.Recordset (0x800A0E78)
    L'operazione non è consentita se l'oggetto è chiuso.
    /hobby/reg.asp, line 44

    Pezzo di codice che dà errore(la linea 44 è quella con IF NOT id.eof THEN):

    iscrSQL = "INSERT INTO utenti(nome, cognome, via, cap, citta, prov, nazione, tel, cell, mail, sito, liv, catNews)" 
    iscrSQL = iscrSQL & "VALUES('"&nome&"', '"&cognome&"', '"&via&"', '"&cap&"', '"&citta&"', '"&prov&"', '"&nazione&"', '"&tel&"', '"&cell&"', '"&mail&"', '"&sito&"', 'utente', '"&cat&"')" 
    Set id = Session("conn").Execute(iscrSQL) 
    myID = "" 
    IF NOT id.eof THEN 
    myID = id("utenti.nome") 
    ELSE 
    myID = "BHO" 
    END IF 
    

    Non riesco a capire come mai e non sò come altro fare :arrabbiato: :arrabbiato: :arrabbiato:

    I dati nel db me li inserisce senza problemi, ma a me serve l'id che ha appena creato il db 😢

    Qualcuno mi sà aiutare ?

    Ciao
    lockit


  • User

    Come non detto 😄 😄

    Ho risolto così:

    		artSQL = "SELECT * FROM utenti WHERE 1=0"
    
    		Set RSArt = Server.CreateObject("ADODB.Recordset")
    		RSArt.Open artSQL, session("conn"), 2, 2
    
    		RSArt.AddNew
    			RSArt("nome") = nome
    			RSArt("cognome") = cognome
    			RSArt("via") = via
    			RSArt("cap") = cap
    			RSArt("citta") = citta
    			RSArt("prov") = prov
    			RSArt("nazione") = nazione
    			RSArt("tel") = tel
    			RSArt("cell") = cell
    			RSArt("mail") = mail
    			RSArt("sito") = sito
    			RSArt("catNews") = cat
    		RSArt.Update
    		id = RSArt("id_user")
    		RSArt.Close
    		Set RSArt = Nothing
    

    :fumato: :fumato: :fumato: