Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    5

    problema con query e caratteri speciali

    Ciao a tutti, ho un problema strano con una query:

    la var articolo contiene nomi tipo "argento + corallo" nella query:

    sql="SELECT * FROM anagrafica WHERE articolo ='"&articolo&"'"

    in questo modo la ricerca non mi restituisce risultati

    se invece scrivo:

    sql="SELECT * FROM anagrafica WHERE articolo ='argento + corallo'"

    la ricerca va a buon fine!

    che differenza c'è tra la variabile articolo e la stringa che riporto nella seconda soluzione? Qualcuno sa dirmi dove sbaglio?

    Grazie, Giò

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Sicuro che non devi utilizzare LIKE al posto di "="?

    e guarda se la var "articolo" è valorizzata.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    5
    ciao,

    per valorizzata intendi definirla come carattere, intero, ecc..?
    O se ottiene il valore dall'url, nel senso che non è vuota?
    Ho provato a crearne anche una nella pagina asp in questione ma il risultato è lo stesso

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    se ottiene effettivamente il valore.
    se non ha valore e metti "=" la ricerca non ha senso per i tuoi scopi. Che genere di ricerca devi fare?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non si capisce bene che tipo di ricerca tu voglia fare...

    Prova così:

    codice:
    sql="SELECT * FROM anagrafica WHERE articolo LIKE '%"&articolo&"'%"
    Roby

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    5
    si, il valore lo restituisce.
    Nel response.write c'è!

    E ho provato anche con LIKE '%"&articolo&"'%" ma il risultato nn cambia!!

    Il punto è che se nella query inserisco lo stesso valore della variabile, ad esempio 'argento + corallo' come stringa lo legge, se lo inserisco come var niente!
    So che sembra assurdo ma è così!!!

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Originariamente inviato da spano73
    si, il valore lo restituisce.
    Nel response.write c'è!

    E ho provato anche con LIKE '%"&articolo&"'%" ma il risultato nn cambia!!

    Il punto è che se nella query inserisco lo stesso valore della variabile, ad esempio 'argento + corallo' come stringa lo legge, se lo inserisco come var niente!
    So che sembra assurdo ma è così!!!
    posta il pezzo di codice dove valorizzi la variabile "articolo"
    magari in fase di valorizzazione quel "+" che usi viene interpretato come concatenamento delle due stringe.. nel senso:
    articolo=argentocorallo
    Jupy

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    5
    infatti jupy! E' quello che pensavo.
    Visto che inserendolo come stringa tra gli apici 'argento + corallo' lo interpreta correttamente, il problema è proprio che come variabile il "+" lo legge come carattere speciale di concatenamento... e allora che faccio? Dò fuoco al PC ho hai una soluzione?

  9. #9
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    ma la stringa "argento + corallo" te la crei tu al momento o è una stringa memorizzata in una tabella?
    mi fai vedere come inizializi la variabile?

    ad esempio potresti fare una cosa del genere:

    articolo="'argento + corallo'"

    logicamente nella query non devi usare gli apici, visto che già li inserisci nella stringa..

    sql="SELECT * FROM anagrafica WHERE articolo =" & articolo & ";"

    Jupy

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    5
    Ok ragazzi! Problema risolto!!!

    in pratica ho utilizzto la funzione trim() in modo tale da eliminare gli spazi all'inizio e alla fine della variabile! Evidentemente passando i dati dall'url si creavano degli spazi che incidevano sulla ricerca.

    articolo = request.querystring(articolo)

    articolo = trim(articolo)

    SELECT * FROM anagrafica WHERE articolo ='"&articolo&"'"

    e miracolosamente funziona!

    Grazie a tutti e alla prossima,
    Giò

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.