Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311

    sql filtro con carattere "+"

    ciao,
    sto facendo una pagina che riepiloga dei prodotti... attraverso qualche DINSTINCT ottengo delle LISTBOX con collegamento che inviano il dato scelto.
    Tutto bene finchè non ho trovato un prodotto che contiene il carattere "+", infatti durante il recupero (request) del dato (es. P55+TY), il valore viene preso come una espressione e quindi mi filtra un valore che non trova ovviamente nel database (P55 TY), con lo spazio al posto del carattere +.
    Come posso sostiutuirlo ? oppure come posso aggirare il problema ?
    Premetto che non posso modificare il codice degli articoli esistenti.
    Grazie.

  2. #2
    posta un po' di codice, vediamo come il segno + interferisce con le istruzioni

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311
    codice:
    codice=request("codice")
    if codice="" then codice_sql="codice LIKE '%'" else codice_sql="codice='"&codice&"'"
    ... nel richiamo dell'sql:
    codice:
    stringa_SQL="SELECT * FROM prodotti WHERE " &marca_sql& " AND " &codice_sql& " AND " &colore_sql& " AND " &misura_sql& " AND " &confezione_sql

  4. #4
    messa così è un po' difficile. fa' una cosa...

    *subito* dopo la composizione della stringa SQL metti

    codice:
    Response.Write "maGGica SQL...: " & codice_sql 
    Response.Flush
    oppure

    codice:
    Response.Write "maGGica SQL...: " & stringa_sql 
    Response.Flush
    poi posta quello che viene a video

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311
    ... a che server Flush ? non l'ho mai utilizzato...
    cmq ecco il risultato:
    codice:
    sql: SELECT * FROM prodotti WHERE marca='P6 RR' AND codice LIKE '%'
    ... ho ridotto l'SQL ma il risultato è lo stesso.. il valore doveva essere P6+RR
    Se invece faccio il passaggio di valori non come stringa (.asp?marca=valore etc.) ma con request dal form ( request.form("marca") ) il valore passa regolarmente con il +, quindi non è un errore di interpretazione dell'sql, ma è proprio il request che prende il + come un aggiunta di codici (tipo la &)...

    Al momento ho baypassato usando un form unico con un pulsante da premere alal fine della selezione... non è però quello che volevo.

    Non importa sbatterci ulteriormente la testa.
    Ringrazio vivamente.

  6. #6
    e me pareva strano che fosse zio sql a fare casino

    prova a passare i parametri codificandoli/decodificandoli con Server.URLEncode e Server.URLDecode


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.