187 messaggi dal 23 maggio 2002
Giorno a tutti. Non riesco a venirne fuori xche sto affrontando una cosa, semplice per gli esperti ma che io non ho mai fatto. In breve:
ho un form dove stampo vari record (libro, titolo, autore, ecc) dal db, alla fine di ogni riga ci sono 2 checkbox nuovo e usato (l'utente può anche selezionarle entrambe o nn selezionarle affatto). Nella stessa pagina mi devo aggiornare il risultato della selezione del cliente andando anche ad aggiornare i relativi campi si/no nel db, tab ordini.
Questo il codice che ho scritto fin'ora.
...
All'inizio della pagina con il form:
If Request.querystring("stato")="aggiorna" Then
aggiorna
End If
...
Form:
<form method="POST" action="ordina.asp?stato=aggiorna">
...
Per ogni riga di dati che stampo, alla fine ci sono i seguenti check:
<% If RS_Ord("Nuovo")=True Then %>
<td width="33" align="center" valign="top">
<% OrdNuovo = RS_Ord("Nuovo") %>
<input type="checkbox" name="<%=OrdNuovo%>" value="On" checked>
</td>
<% Else %>
<td width="33" align="center" valign="top">
<%OrdNuovo=RS_Ord("Nuovo")%>
<input type="checkbox" name="<%=OrdNuovo%>" value="On">
</td>
<% End If %>
<% If RS_Ord("Usato")=True Then %>
<td width="33" align="center" valign="top">
<% OrdUsato = RS_Ord("Usato") %>
<input type="checkbox" name="<%=OrdUsato%>" value="On" checked>
</td>
<% Else %>
<td width="33" align="center" valign="top">
<% OrdUsato = RS_Ord("Usato") %>
<input type="checkbox" name="<%=OrdUsato%>" value="On">
</td>
<% End If %>
Poi chiudo tutto quello che devo chiudere e poi:
Sub Aggiorna
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "driver={Microsoft Access Driver (*.mdb)}; dbq="& Server.MapPath("bombastic.mdb")
If Request(OrdNuovo)="" Then
OrdNuovo = 0
else
OrdNuovo= 1
end if
If Request(OrdUsato)="" Then
OrdUsato = 0
else
OrdUsato= 1
end if
strAgg = "UPDATE Ordini SET Nuovo = " & OrdNuovo & ", Usato = " & OrdUsato & " WHERE NumOrdine = " & Session("iNumOrd")
Set RS_Ord = Server.CreateObject("ADODB.Recordset")
RS_Ord.Open strAgg, ObjConn, adOpenDynamic, adLockPessimistic
RS_Ord.MoveNext
RS_Ord.Close
Set RS_Ord = Nothing
objConn.Close
Set objConn = Nothing
Response.redirect ("Utente.asp")
End Sub
%>

Sicuramente manca qualcosa o sbaglio qualcosa... non funziona.
Spero che qualcuno possa aiutarmi.
Grazie,
Elisa
3.122 messaggi dal 16 maggio 2002
Mi sembra tutto corretto, è la stessa sintassi che uso io e funziona.
Magari prova a modificare un paio di cose (che penso comunque siano ininfluenti ma tentar non nuoce):

If Request.Form(OrdNuovo)="" Then
OrdNuovo = 0
else
OrdNuovo= -1
end if

la stessa cosa ovviamente per OrdUsato. Una domanda però: OrdNuovo e Ordusato sono due stringhe, spero non siano vuote... Non sono vuoti i campi del db "nuovo" e "usato", vero?
Non si sa mai che hai dimenticato proprio quello... ^__^
Modificato da Raynor il 16 settembre 2002 21.34 -

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
187 messaggi dal 23 maggio 2002
No, non sono vuoti... cmq, rismontando il codice e anallizzando pezzo per pezzo, con dei lievi cambiamenti è andata!
Grazie! :-)
Elisa
10 messaggi dal 07 maggio 2001
Ciao

questo è un problema che prima o poi tutti abbiamo affrontato.

Io ho adottato una soluzione drastica, anche perchè, se dovessi mai convertire il tuo DB in un'altro incontreresti non pochi problemi.

I campi si/no non li uso più. Li ho sostituiti con dei semplici campi numerici (interi-decimali zero).

Questo ti aiuterà anche a scrivere delle stringhe di SQL più semplici, perche i numerici non richiedono gli apici.

Il mio consiglio è di convertire i campi si/no in campi numerici.

Ciao, buon lavoro.

Neonet
3.122 messaggi dal 16 maggio 2002
Corretto neonet, anche io non uso i campi sì/no, uso invece campi di tipo BIT che assumono valore 0 o -1.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

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.