passaggio parametri x la pagina di dettaglio o modifica record
lullone non è online. Ultima attività: 30/06/2008 11.21.56lullone
Inserito il: 23 giugno 2008 21.32
61 messaggi dal 17 lug 2002 Istalla Microsoft Silverlight!
Salve, in questi giorni ho inserito due threads. Uno sulla visualizzazione dei records di una tabella ed uno sull'inserimento. A questo punto, mi manca quello della modifica. Ed eccomi quà.
Supponiamo che io abbia una pagina grid che mostri i records di una tabella e volessi modificare il singolo record. Dovrei rendere un campo del record di tipo URL anzichè LABEL e fino a quì ci sono. Con un response.redirect dovrei reindirizzare il tutto ad una pagina di dettaglio passando il campo chiave della tabella, (MA COME?)
Ecco il listato della pagina di elenco dei records:

<HTML>
<TITLE>Elenco fatture</TITLE
<center>
<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\mdb-database\fatture.mdb"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select datafattura from fatture", cn
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.open "select numfattura from fatture", cn
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.open "select importodocumento from fatture", cn
Set rs3 = Server.CreateObject("ADODB.Recordset")
rs3.open "select incassato from fatture", cn
Set rs4 = Server.CreateObject("ADODB.Recordset")
rs4.open "select fatture.importodocumento-fatture.incassato AS residuo FROM fatture", cn
%>
<CENTER>
<% response.write "<img src=/calc.png>" %>
<TABLE>
<TR BGCOLOR="#FF0000">
<TD COLSPAN="5"><FONT FACE="ARIAL" COLOR="#FFFFFF"><DIV ALIGN="CENTER"><SPAN CLASS="STYLE1"><STRONG>Elenco fatture</STRONG></SPAN></FONT></TD></TR>
<TR BGCOLOR="#00CCFF">
<TD WIDTH="150"><DIV ALIGN="CENTER"><FONT FACE="ARIAL">Data fattura</FONT></TD>
<TD WIDTH="150"><DIV ALIGN="CENTER"><FONT FACE="ARIAL">Numero fattura</FONT></TD>
<TD WIDTH="150"><DIV ALIGN="CENTER"><FONT FACE="ARIAL">Importo documento</FONT></TD>
<TD WIDTH="150"><DIV ALIGN="CENTER"><FONT FACE="ARIAL">Incassato</FONT></TD>
<TD WIDTH="150"><DIV ALIGN="CENTER"><FONT FACE="ARIAL">Residuo</FONT></TD>
<%
Do While not rs.EOF
Do While not rs1.EOF
Do While not rs2.EOF
Do While not rs3.EOF
Do While not rs4.EOF
%>
<TR>
<TD align="center" bgcolor="#eeeeee"><% response.write rs.Fields("datafattura").Value %></TD>
'DAL CAMPO CHE SEGUE, VORREI LINKARE LA PAGINA DI DETTAGLIO PASSANDO IL PARAMETRO IDFATTURA, MA COME SI FA?
<TD align="center" bgcolor="#eeeeee"><a href="dettagliofattura.asp?idfattura=(UGUALE A CHE COSA?)"><% response.write rs1.Fields("numfattura").Value %></a></TD>
<TD align="center" bgcolor="#eeeeee"><% response.write rs2.Fields("importodocumento").Value %></TD>
<TD align="center" bgcolor="#eeeeee"><% response.write rs3.Fields("incassato").Value %></TD>
<TD align="center" bgcolor="#eeeeee"><% response.write rs4.Fields("residuo").Value %></TD>
</TR>
<%
rs.MoveNext
rs1.MoveNext
rs2.MoveNext
rs3.MoveNext
rs4.MoveNext
Loop
Loop
Loop
Loop
Loop
rs.Close
rs1.Close
rs2.Close
rs3.Close
rs4.Close
set rs = Nothing
set rs1 = Nothing
set rs2 = Nothing
set rs3 = Nothing
set rs4 = Nothing
cn.Close
Set cn = Nothing
%>
</TABLE>
</HTML>
<FORM method="POST" action="inseriscifattura.asp">
<input type="Submit" value="Inserisci fattura">

RE: passaggio parametri x la pagina di dettaglio o modifica record
novecento non è online. Ultima attività: 21/08/2008 0.26.53novecento
Inserito il: 24 giugno 2008 00.58
contributi / Community manager / www.soluzioni4d.it / Blog / 738 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
Se posso permettermi, non è necessario che usi tutti questi oggetti Recordset, puoi fare un'unica select specificando i campi che vuoi recuperare
rs.open "select idfattura, numfattura, datafattura from fatture", cn

ed eseguire un unico
Do While not rs.EOF

In questo modo puoi passare in querystring l'identificativo del record così:
<a href='dettagliofattura.asp?idfattura=<%=rs.Fields("idfattura").Value %>'>

Nella pagina di dettaglio/modifica recuperi idfattura da QueryString ed esegui una query mirata a quello specifico record tipo
"select idfattura, numfattura, datafattura from fatture where idfattura = " & _idfatturaDaQueryString

Alessio Leoncini
SilverlightItalia.com
RE: passaggio parametri x la pagina di dettaglio o modifica record
lullone non è online. Ultima attività: 30/06/2008 11.21.56lullone
Inserito il: 24 giugno 2008 10.14
61 messaggi dal 17 lug 2002 Istalla Microsoft Silverlight!
novecento ha scritto:

<a href='dettagliofattura.asp?idfattura=<%=rs.Fields("idfattura").Value %>'>

Grazie novecento, l'ho provato e funge benissimo. Ho dovuto solo cambiare gli apici in doppi apici, altrimenti mi avrebbe considerato questa stringa come fosse commentata.
Adesso arriva la parte più ardua perchè dovrò costruire la pagina di modifica del record.
Intanto ho preso l'idfattura ricevuto e l'ho convertiro in session in modo da portarmelo automaticamente nella pagina successiva, quella di modifica.
L'ho fatto in questo modo:
if request.querystring("idfattura")<>"" then
session("idfattura")=request.querystring("idfattura")
end if

Per favore dimmi se c'è un modo più elegante o più conveniente per passare il parametro ed eventualmente, qualora non ci fosse, mi potresti dire come interrompere la sessione al rientro nella pagina che elenca tutte le fatture?
Grazie

RE: passaggio parametri x la pagina di dettaglio o modifica record
novecento non è online. Ultima attività: 21/08/2008 0.26.53novecento
Inserito il: 24 giugno 2008 10.20
contributi / Community manager / www.soluzioni4d.it / Blog / 738 messaggi dal 04 mar 2004 Istalla Microsoft Silverlight!
Puoi passare idfattura alla pagina di modifica ancora in querystring, anche la sessione non è sbagliata ma non è proprio il massimo per un valore così "volatile" cioè che vive solo tra due pagine.
Al rientro nella pagina di elenco puoi annullare il valore di sessione con session("idfattura") = nothing

Alessio Leoncini
SilverlightItalia.com
RE: passaggio parametri x la pagina di dettaglio o modifica record
lullone non è online. Ultima attività: 30/06/2008 11.21.56lullone
Inserito il: 24 giugno 2008 11.17
61 messaggi dal 17 lug 2002 Istalla Microsoft Silverlight!
Grazie infinite novecento.


Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


fabrica - 1242 pt
vladimiro - 1070 pt
PeppeDotNet - 590 pt

Ultimi vincitori: PeppeDotNet, fabrica, vladimiro

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums