- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Stampare un Id appena registrato
-
Stampare un Id appena registrato
A.a.a.a.a.a. Cercasi Santo!!!
Sarò brevissimo:
Ho un semplice modulo di registrazione, al pulsante "Iscriviti" si apre una pagina di ringraziamento, che permette la registrazione dei dati inseriti.
In quest'ultima ho inserito una simpatica immagine che mi collega ad una nuova pagina permettendo all'utente di stampare il modulo riempito.
Ora, non mi crederete, ma sono almeno 3 giorni che non riesco a far visualizzare questa benedetta pagina.
Io vi posto, in sintesi, i due script nella speranza di trovare un Santo che mi aiuti.
PAGINA DI REGISTRAZIONE:<%@LANGUAGE="VBSCRIPT"%> <% id=request.form("id") data=request.form("data") nome=request.form("nome") cognome=request.form("cognome") data_nascita=request.form("data_nascita") ……………………….. ………………………. data=replace(data,"'","''") nome=replace(nome,"'","''") cognome=replace(cognome,"'","''") data_nascita=replace(data_nascita,"'","''") ……………….. ………………. Set conn_iscrizione = Server.CreateObject("ADODB.Connection") conn_iscrizione.Open "Driver={MySQL};SERVER=XX.XXX.XXX.XX;Database=SqlXXXXX_X;port=XXXX;UID= SqlXXXXX;PWD=XXXXXXXXXXX;" sql = "insert into mod_iscri_fis (data, nome, cognome, data_nascita) values ('"&data&"', '"&nome&"', '"&cognome&"', '"&data_nascita&"') " set rs=conn_iscrizione.execute(sql) Sql_last_id = "select max(id) as id from mod_iscri_fis where cognome='"&cognome&"' and nome='"&nome&"' " 'response.Write(Sql) set rs_last_id=conn_iscrizione.execute(Sql_last_id) Dim iMsg Dim iConf Dim Flds set iMsg = CreateObject("CDO.Message") set iConf = CreateObject("CDO.Configuration") With iMsg Set .Configuration = iConf .To = [EMAIL="[email protected];"][email protected];[/EMAIL] .From = "[email protected]" .Subject = "Modulo di iscrizione da perte del Sig. "& cognome .TextBody = "Per visualizzare il modulo di iscrizione collegati al link: http://LINK.asp?id="&rs_last_id("id") .Send End With %> **<a href="STAMPA.asp?id=<%=rs_last_id("id")%>"><img src="immagini/stampanti_small.jpg" border="0">** **</a>** **PAGINA DI STAMPA:** <%@LANGUAGE="VBSCRIPT"%> <% Sql_last_id = "select * from mod_iscri_fis where id="&cint(request("id"))&" " set rs_last_id=conn_iscrizione.execute(Sql_last_id) %> <%rs_last_id("data")%> <%rs_last_id("nome")%> <%rs_last_id("cognome")%> <%rs_last_id("luogo_nascita")%> ...................................
L'errore ricorrente che ji riscontra il browser è sempre alla riga del response: set rs_last_id=conn_iscrizione.execute(Sql_last_id)
Non ho dubbi di avere commesso qualche errore..... c'è qualcuno che può illuminarmi??
Grazie 1000
-
Ciao leftist1973,
il codice va postato all'interno degli appositi tag codeQual'è l'errore che ti viene restituito?
-
@madai said:
Ciao leftist1973,
il codice va postato all'interno degli appositi tag codeQual'è l'errore che ti viene restituito?
Ciao e grazie pert avermi risposto.L'errore che mi fà sempre è nella pagina STAMPA, ed è sempre alla riga dell'rs.
L'ho messo dapertutto questo dannato codice ma cmq non mi funziona
HELP
-
Ciao,
io proverei con:... Sql_last_id = "select max(mod_iscri_fis.id) as LAST_ID from mod_iscri_fis where cognome='"&cognome&"' and nome='"&nome&"' " ...
perchè, forse (ma potrei sbagliarmi), la parola "id" è uno delle termini riservate per SQL Server
PS: ho editato il tuo post perchè c'erano email reali: e non è bene che siano rese pubbliche sia per la privacy sia per evitare spyder di spammer...
-
@paocavo said:
Ciao,
io proverei con:> ... Sql_last_id = "select max(mod_iscri_fis.id) as LAST_ID from mod_iscri_fis where cognome='"&cognome&"' and nome='"&nome&"' " ... >``` perchè, forse (ma potrei sbagliarmi), la parola "id" è uno delle termini riservate per SQL Server PS: ho editato il tuo post perchè c'erano email reali: e non è bene che siano rese pubbliche sia per la privacy sia per evitare spyder di spammer... Provato, ecco l'errore che mi viene visualizzato: ** ** ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /stampa_iscrizione_pf.asp, line 176 La line 176 corrisponde a questa stringa: <%=rs_last_id("data")%> La prima del form. Grazie per l'email, mi sono sfuggite :ciauz:
-
In ogni caso io non userei sql secche da far eseguire a conn.execute, usereri l'oggetto Recordset con lock pessimistico ed il metodo AddNew. In questo modo evito di fare due query distinte per ottenere l'ultimo identificativo, qualcosa del tipo:
Set conn_iscrizione = Server.CreateObject("ADODB.Connection") conn_iscrizione.Open "Driver={MySQL};SERVER=XX.XXX.XXX.XX;Database=SqlXXXXX_X;port=XXXX;UID= SqlXXXXX;PWD=XXXXXXXXXXX;" Set myRecSet = Server.CreateObject("ADODB.Recordset") myRecSet.Open("select * from mod_iscri_fis"), conn_iscrizione, adLockPessimistic myRecSet.AddNew myRecSet("data") = data myRecSet("nome") = nome myRecSet("cognome") = cognome myRecSet("data_nascita") = data_nascita myRecSet.Update Dim LastID = myRecSet("id") myRecSet.Close Set myRecSet = Nothing Set conn_iscrizione = Nothing
Non dimenticare di chiudere e distruggere (set nome_oggetto = Nothing) tutti gli oggetti quando non ti servono più!!
-
@paocavo said:
In ogni caso io non userei sql secche da far eseguire a conn.execute, usereri l'oggetto Recordset con lock pessimistico ed il metodo AddNew. In questo modo evito di fare due query distinte per ottenere l'ultimo identificativo, qualcosa del tipo:
> Set conn_iscrizione = Server.CreateObject("ADODB.Connection") conn_iscrizione.Open "Driver={MySQL};SERVER=XX.XXX.XXX.XX;Database=SqlXXXXX_X;port=XXXX;UID= SqlXXXXX;PWD=XXXXXXXXXXX;" Set myRecSet = Server.CreateObject("ADODB.Recordset") myRecSet.Open("select * from mod_iscri_fis"), conn_iscrizione, adLockPessimistic myRecSet.AddNew myRecSet("data") = data myRecSet("nome") = nome myRecSet("cognome") = cognome myRecSet("data_nascita") = data_nascita myRecSet.Update Dim LastID = myRecSet("id") myRecSet.Close Set myRecSet = Nothing Set conn_iscrizione = Nothing >``` Non dimenticare di chiudere e distruggere (set nome_oggetto = Nothing) tutti gli oggetti quando non ti servono più!! Caro paocavo, per piacere non chiedermi come, dove, perchè, ma ora funziona, Funziona, FUNZIONAAAAA ![image](http://forum.html.it/forum/images/smilies/tupitupi.gif) ![image](http://forum.html.it/forum/images/smilies/tupitupi.gif) ![image](http://forum.html.it/forum/images/smilies/tupitupi.gif) ![image](http://forum.html.it/forum/images/smilies/tupitupi.gif) Io ti descrivo cosa ho fatto: 1) Ho inserito il file di connessione: <%@LANGUAGE="VBSCRIPT"%> <!--#include file="conn_iscrizione.asp" --> Ho creato la mia tabella, e prima di inserire i campi ho messo questo script: <% Sql_last_id = "select * from mod_iscri_fis where id="&cint(request("id")) set rs_last_id=conn.execute(Sql_last_id) %> Infine per ogni campo ho inserito questo script di richiamo: <%=rs_last_id("data")%> <%=rs_last_id("nome")%> <%=rs_last_id("cognome")%> e cosi via.... GRAZIE 10000000000000000000000 :ciauz: :fumato: ;) Ps: la tua soluzione la provo subito.