Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Errore "where clause"

  1. #1

    Errore "where clause"

    Ciao ragazzi,
    nell'implementare il carrello nel mio sito ho voluto sviluppare un sistema che estragga le spese di spedizione da MySql in base alla nazione in cui andranno spediti i prodotti.
    In particolare in MySql ho creato la tabella spedizioni con questi campi:
    spedizioni_id
    spedizioni_nazione
    spedizioni_prezzo

    Prima utilizzavo un codice del tipo:

    <%
    nation = RS("utenti_nazione")

    IF (nation = "Italia") then
    spesespedizione=6.50
    else
    spesespedizione=13.00
    end if

    totgenerale = orderTotal + spesespedizione
    %>

    Ora invece vorrei estrarre il valore spedizione_prezzo dalla tabella spedizioni, dove spedizioni_nazione = nazione (già valorizzata prima) per cui ho variato il codice così:

    <%
    nation = RS("utenti_nazione")

    ' estrazione spese di spedizione
    Set Con = Server.CreateObject( "ADODB.Connection" )
    Con.Open "accessDSN"
    sqlString = "SELECT spedizioni_prezzo FROM spedizioni "
    sqlString = sqlString & "WHERE spedizioni_nazione=" & nation
    Set RS = Server.CreateObject( "ADODB.Recordset" )
    RS.ActiveConnection = Con
    RS.Open sqlString

    ' Estrae la categoria
    spesespedizione = RS( "spedizioni_prezzo" )

    totgenerale = orderTotal + spesespedizione
    %>



    A me sembra di avere fatto giusto ma mi esce questo errore:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]Unknown column 'Italia' in 'where clause'

    Per cui vi chiedo dove sta l'errore?
    Inoltre come devo settari campi nella tabella spedizioni in MySql? (inter,double,ecc) visto che vorrei impostare il prezzo della spedizione in formato euro (0,00)?

    Ciao

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La nazione dovrebbe essere un campo di tipo testo:

    codice:
    sqlString = "SELECT spedizioni_prezzo FROM spedizioni " 
    sqlString = sqlString & "WHERE spedizioni_nazione='" & nation &"'"
    Roby

  3. #3
    Per cui ho variato così:

    codice:
    nation = RS("utenti_nazione")
    
    ' estrazione spese di spedizione
    Set Con = Server.CreateObject( "ADODB.Connection" )
    Con.Open "accessDSN"
    	sqlString = "SELECT spedizioni_prezzo FROM spedizioni "
    	sqlString = sqlString & "WHERE spedizioni_nazione='" & nation & "'"
    Set RS = Server.CreateObject( "ADODB.Recordset" )
    RS.ActiveConnection = Con
    RS.Open sqlString
    
    ' Estrae la categoria
    spesespedizione = RS( "spedizioni_prezzo" )
    
    'IF (nation = "Italia") then 
    '	spesespedizione=6.50
    'else 
    '	spesespedizione=13.00
    'end if
    	
    totgenerale = orderTotal + spesespedizione
    %>
    <tr>
    <td>
    <input type="button" value="X" onclick="this.form.pq<%=RS("carrello_id")%>.value=0; this.form.submit();">
    </td>
    E aadesso mi da errore sull'ultimo <td>, errore
    ADODB.Recordset (0x800A0CC1)
    Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero richiesto.

    Non mi era mai uscito questo errore

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Alla tua query chiedi di rstituirti solo questo campo: spedizioni_prezzo
    Non puoi quindi usarne altri come questo: RS("carrello_id")

    Roby

  5. #5
    Ma a me serve questo campo.

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E allora modifica la query...

    SELECT * FROM....

    Roby

  7. #7
    Forse ho capito !!
    Questo rs lo richiamo quando sono già dentro un altro rs !!!

    Quindi devo fare due chiamate distinte !!!

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Direi di si... cambia i nomi ai recordset.

    Roby

  9. #9
    La prima select che faccio è questa, come faccio a cambiarla e inglobare la select che ti ho fatto vedere sopra?

    <%
    ' Creazione carrello
    sqlString = "SELECT carrello_id, prodotti_nome, " &_
    "prodotti_prezzo, carrello_quantita, utenti_nazione " &_
    "FROM carrello, prodotti, utenti " &_
    "WHERE carrello_utenteID=" & userID & " " &_
    "AND carrello_prodottoID = prodotti_id " &_
    "AND utenti_id = " & userID & " " &_
    "ORDER BY carrello_id DESC"
    SET RS = Con.Execute( sqlString )

  10. #10
    Scusa,
    sto andando fuori strada di brutto !!!

    Disconnetto il cervello e ci risentiamo domani.


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 © 2026 vBulletin Solutions, Inc. All rights reserved.