Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Codice ok in locale, ma su server no

    Ciao ragazzi ho una pagina che in locale funziona perfettamento mentre sul server mi dà dei problemi su un Recordset, eppure sia online che in locale uso la stessa versione di MySql !!

    Questo è il codice:
    codice:
    ' Aggiornamento quantità carrello della spesa
    IF Request( "updateQ" ) <> "" THEN
    	SET RS = Server.CreateObject( "ADODB.Recordset" )
    	RS.ActiveConnection = Con
    	RS.CursorType = adOpenDynamic
    	RS.LockType = adLockOptimistic
    	sqlString = "SELECT carrello_id, carrello_quantita FROM carrello " &_
    		"WHERE carrello_utenteID=" & userID
    	RS.Open sqlString
    	WHILE NOT RS.EOF
    	newQ = TRIM( Request( "pq" & RS( "carrello_id" ) ) )
    
    	' controllo quantità valida, max 6 pezzi per codice
    	IF newQ = "" OR newQ = "0" THEN
    	  	RS.Delete
    	ELSE
    		IF isNumeric( newQ ) THEN
    	    	RS( "carrello_quantita" ) = newQ
    	    ELSE
    	    	newQ = 1	
    	  	END IF
    	  	IF newQ <= 5 THEN
    	  		RS( "carrello_quantita" ) = newQ
    	  	ELSE
    	  		RS( "carrello_quantita" ) = 6
    	  	END IF			
    	END IF
    
    	RS.MoveNext
    	WEND
    	RS.Close
    	SET RS = Nothing
    END IF
    Il campo updateQ lo richiamo nella pagina precedente in un form:

    <input name="updateQ" type="hidden" value="1">

    Il server mi restituisce questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    Errore durante l'aggiornamento basato su query. Impossibile trovare la riga da aggiornare.


    Dove può essere l'errore?

    Ciao
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  2. #2
    up
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  3. #3
    Ma questo errore a cosa si riferisce?


    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    Errore durante l'aggiornamento basato su query. Impossibile trovare la riga da aggiornare.
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  4. #4
    Può essere un errore dato da MySql che non supporta i comandi:
    RS.ActiveConnection = Con
    RS.CursorType = adOpenDynamic
    RS.LockType = adLockOptimistic

    Può essere?

    In locale funziona e sul server no ?!!!!
    La versione sul server è la 4.0.20
    in locale è la 4.0.18
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  5. #5
    ..significa ke nn trova i dati da aggiornare..ovvero il record nn esiste!

    e nn riesce quindi ad aggiornarlo!

    VaneX

  6. #6
    sqlString = "SELECT carrello_id, carrello_quantita FROM carrello " &_
    "WHERE carrello_utenteID=" & userID


    fai un response.write di RS("Carrello_id")
    e vedi se t trova qcosa!!!

    o anek d userID..il problema è li

    vedi se è null RS!

    VaneX

  7. #7
    Ciao, ho provato come hai detto e sia carrello_id o carrello_utenteID mi viene valorizzato ma mi esce comunque l'errore che ti dicevo.

    Il problema è che in locale il codice funziona perfettamente mentre lo stesso sul server mi dà errore.

    Cosa mi consigli?
    Posso postare il codice completo?

    Ciao
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  8. #8
    ...nn so ke dirti...
    se in locale va...

    in ogni caso l'errore vuol dire ke la riga nn esiste...

    ..
    nn saprei!

    spero ke qcuno + bravo sappia dart una soluzione!
    sono curiosa....

    VaneX

    P.S.: ma nn si kiama userID ? userId dove lo prende?

  9. #9
    Il codice completo è:
    codice:
    <%
    ' Estrazione ID del prodotto
    productID = TRIM( Request( "pid" ) )
    
    ' Aggiunta articoli nel carrello, con controllo quantità massima
    IF productID <> "" THEN
      	sqlString = "SELECT * FROM carrello " &_
        	"WHERE carrello_utenteID=" & userID & " " &_
        	"AND carrello_prodottoID='" & productID & "'"
      	SET RS = Con.Execute( sqlString )
      	
      	IF RS.EOF THEN
      	sqlString = "INSERT INTO carrello ( " &_
        	"carrello_utenteID, " &_
        	"carrello_prodottoID, " &_
        	"carrello_quantita " &_
        	") VALUES ( " &_
    		userID & ", '" &_
        	productID & "', 1 )"
      	ELSE
      		IF RS( "carrello_quantita" ) <= 5 THEN
    	  	sqlString = "UPDATE carrello SET " &_
    	    	"carrello_quantita=carrello_quantita+1 " &_
    	    	"WHERE carrello_id=" & RS( "carrello_id" ) 
    	    ELSE
    	    sqlString = "UPDATE carrello SET " &_
    	    	"carrello_quantita = 6 " &_
    	    	"WHERE carrello_id=" & RS( "carrello_id" ) 	
    	    END IF	
      	END IF
      	  	
      	RS.Close
      	SET RS = Nothing
      	Con.Execute sqlString
    END IF
    
    ' estrazione della nazione utente
    sqlString = "SELECT utenti_nazione FROM utenti " &_
    	"WHERE utenti_id=" & userID 
    SET RS = Con.Execute( sqlString )
    nation = RS( "utenti_nazione" )
    
    ' determinazione spese di spedizione
    sqlString = "SELECT spedizioni_prezzo FROM spedizioni " &_
    	"WHERE spedizioni_nazione='" & nation &"'"
    SET RS = Con.Execute( sqlString )
    spesespedizione = RS( "spedizioni_prezzo" )
    	 
    ' Aggiornamento quantità carrello della spesa
    IF Request( "updateQ" ) THEN
    	SET RS = Server.CreateObject( "ADODB.Recordset" )
    	RS.ActiveConnection = Con
    	RS.CursorType = adOpenDynamic
    	RS.LockType = adLockOptimistic
    	sqlString = "SELECT * FROM carrello " &_
    		"WHERE carrello_utenteID=" & userID
    	RS.Open sqlString
    	WHILE NOT RS.EOF
    	newQ = TRIM( Request( "pq" & RS( "carrello_id" ) ) )
    
    	' controllo quantità valida, max 6 pezzi per codice
    	IF newQ = "" OR newQ = "0" THEN
    	  	RS.Delete
    	ELSE
    		IF isNumeric( newQ ) THEN
    	    	RS( "carrello_quantita" ) = newQ
    	    ELSE
    	    	newQ = 1	
    	  	END IF
    	  	IF newQ <= 5 THEN
    	  		RS( "carrello_quantita" ) = newQ
    	  	ELSE
    	  		RS( "carrello_quantita" ) = 6
    	  	END IF			
    	END IF
    
    	RS.MoveNext
    	WEND
    	RS.Close
    	SET RS = Nothing
    END IF
    %>
    Poi parte il codice html che è così strutturato:
    codice:
    <html>
    <head><title>Carrello spesa</title></head>
    <body bgcolor="white">
    <center>
    
    <font face="Arial" size=3 color="darkgreen">
    Carrello della spesa di <u><%=Server.HTMLEncode(username)%></u>
    </font>
    <%
    ' Creazione carrello
    sqlString = "SELECT carrello_id, prodotti_nomeITA, " &_
      "prodotti_prezzo, carrello_quantita " &_
      "FROM carrello, prodotti " &_
      "WHERE carrello_utenteID=" & userID & " " &_
      "AND carrello_prodottoID = prodotti_id " &_
      "ORDER BY carrello_id DESC"
    SET RS = Con.Execute( sqlString )
    
    IF RS.EOF THEN
    %>
    
    
    Non hai acquistato niente pertanto il carrello è vuoto
    
    
    <form action="default.asp">
    	<input type="submit" value="Torna ad acquistare">
    </form>
    <% 
    ELSE 
    orderTotal = 0
    %>
    <form method="post" action="cart.asp">
    <input name="updateQ" type="hidden" value="1">
    <input name="username" type="hidden" value="<%=username%>">
    <input name="password" type="hidden" value="<%=password%>">
    <table bgcolor="white" border="0" cellpadding="1" cellspacing="0" width="100%">
    	<tr bgcolor="lightgreen">
    		<th> </th>
      		<th align="left" width="50%">Descrizione prodotto</th>
      		<th>Prezzo unitario</th>
      		<th>Qtà (max 6 pz.)</th>
      		<th>Subtotale</th>
    	</tr>
    	<% 
    	WHILE NOT RS.EOF 
    	suborder = RS("prodotti_prezzo") * RS("carrello_quantita")
    	orderTotal = orderTotal + (RS("prodotti_prezzo") * RS("carrello_quantita"))	
    	
    	'formula per determinare sconto quantità
    	IF orderTotal => 120 THEN
    		sconto = 8
    	ELSE		
    		sconto = 0
    	END IF
    	
    	totgenerale = orderTotal + spesespedizione - sconto	
    	%>
    	<tr>
    		<td>
    			<input type="button" value="X" onclick="this.form.pq<%=RS("carrello_id")%>.value=0; this.form.submit();">
      		</td>	
      		<td>
      			<%=Server.HTMLEncode(RS("prodotti_nomeITA"))%>
      		</td>
    		<td align="center">
    			€ <%=formatNumber(RS("prodotti_prezzo"), 2)%>
    		</td>
    		<td align="center">
    			<input name="pq<%=RS("carrello_id")%>" type="text" size="2" value="<%=RS("carrello_quantita")%>">
    		</td>
    		<td align="center">
    			€ <%=formatNumber(suborder, 2)%>
    		</td>
    	</tr>
    	<% 
    	RS.MoveNext
    	WEND
    	%>
    	<tr bgcolor="yellow">
    		<td colspan=4 align="right">
    			Totale merce :
    		</td>
    		<td align="center">
    			€ <%=formatNumber(orderTotal, 2)%>
    		</td>
    	</tr>
    	<tr bgcolor="yellow">
    		<td colspan=4 align="right">
    			Spese spedizione :
    		</td>	
    		<td align="center">
    			€ <%=formatNumber(spesespedizione, 2)%>
    		</td>
    	</tr>
    	<tr bgcolor="yellow">
    		<td colspan=4 align="right">
    			Sconti :
    		</td>	
    		<td align="center">
    			- € <%=formatNumber(sconto, 2)%>
    		</td>
    	</tr>
    	<tr bgcolor="azure">
    		<td colspan=4 align="right">
      			TOTALE GENERALE :
      		</td>
      		<td align="center">
      			€ <%=formatNumber(totgenerale, 2)%>
      		</td>
    	</tr>
    	<tr>
    		<td colspan="5" align="center">
    			<font color="#808080" face="verdana" size="2">Tutti i prezzi sono IVA inclusa</font>
    		</td>
    	</tr>
    	<tr>
    		<td colspan="5" align="center">
      			<table border="0" width="80%">
      				<tr>
       					<td align="center">
       						...................................................................................
    
       						Se cambi una quantità clicca su "Aggiorna carrello" per confermare la scelta
    
    						<input type="submit" value="Aggiorna carrello">
    					</td>
    				</tr>
    			</table>
    		</td>
    	</tr>
    	</form>
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



  10. #10
    Il codice è corretto !!?

    Eppure online non funziona, non vorrei che fossero le istruzioni
    RS.ActiveConnection = Con
    RS.CursorType = adOpenDynamic
    RS.LockType = adLockOptimistic
    interrompono il recordset.

    Voi cosa dite? Che tipo di prove posso fare per correggere?
    Ciao
    Nat Pharma Snc - www.natpharma.it -www.birrapercani.it
    Produzione di integratori fitoterapici per uso veterinario composti interamente da materie prime di origine vegetale



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.