Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296

    query di select con [ nel testo da cercare

    ciao a tutti vecchi volponi,

    ho messo su un motorino di ricerca che effettua una semplicissima query per filtro su un dato inserito dall'utente.

    il problema nasce se l'utente inserisce il carattere "[" (parentesi quadra aperta)

    credo che access lo rilevi come carattere particolare della sintassi della query, fatto sta che non riesco a farglielo digerire...

    avete suggerimenti??? sapete altri caratteri che potrebbero risultare indigesti (oltre a ' " )?

    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    bh le soluzioni sono due ..

    o metti un controllo e fai tornare una pagina di errore che avvisa che certi caratteri non possono essere utilizzati, oppure nella pagina della query, prima di passare il parametro in query gli fai un replace al testo "[" con nulla

  3. #3
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    non posso non permettere di utilizzare quel carattere.

    con la soluzione 2 otterrei dei risutlati errati

    se cerco "a[B" non devo trovare "aB"...


    purtroppo vedo che il problema è complesso... come immaginavo...

    una soluzione sarebbe mettere nel DB, un carattere sostitutivo alla [ (per esempio il §) e poi prima di fare la query fare un replace di [ con §.

    pero' cio' comporta sfasare tutto il DB... sarebbe meglio evitare...



  4. #4
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    beh una soluzione può essere come dici tu, certo!

    ma che sfasare il db scusa? con una query da access ci si mette meno di 2 secondi a sostituire i [ con dei §
    o se non sai usare le query basta che fai un trova e sostituisci sui campi ...

  5. #5
    hai lo stesso problema se usi una parameter query?
    xxx

  6. #6
    puoi risolvere racchiudendo la parentesi quadra dentro.... due parentesi quadre (ese. ... WHERE campo LIKE '%ma[[]34%'... ti trova "sigma[34")

  7. #7
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Originariamente inviato da Fichico
    beh una soluzione può essere come dici tu, certo!

    ma che sfasare il db scusa? con una query da access ci si mette meno di 2 secondi a sostituire i [ con dei §
    o se non sai usare le query basta che fai un trova e sostituisci sui campi ...
    nel senso che ogni volta che devo intervenire sul DB devo sempre applicare il filtro § per [ e resta scomodo se le pagine da modificare sono molte...

  8. #8
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    Originariamente inviato da optime
    puoi risolvere racchiudendo la parentesi quadra dentro.... due parentesi quadre (ese. ... WHERE campo LIKE '%ma[[]34%'... ti trova "sigma[34")
    sagace...

    provo a mettere in pratica e vi faccio sapere...

  9. #9
    Utente di HTML.it L'avatar di barney09
    Registrato dal
    Dec 2000
    Messaggi
    1,296
    come mi immaginavo ha funzionato perfettamente...


    grazie.


  10. #10

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.