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

Discussione: apici e query

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    apici e query

    ciao.

    Ho questo codice:

    codice:
    if request("destinazione")<>"" then
    dest=" "& Chr(39) & request("destinazione") & Chr(39)&" "
    end if
    che si inserisce in una query...

    codice:
    strSql="SELECT * from tabella WHERE "&dest&"  ORDER BY data ASC"
    rec.open strsql, conn, 1 , 3
    if rec.Eof=True or rec.Bof=True then%>
    
    mostro record...
    se la passo cosi il valore destinazione diventa = 'cuba'
    ottenendo tutti i risultati senza filtro "cuba".

    se la passo raddoppiando gli apici mi va in errore:

    codice:
    if request("destinazione")<>"" then
    dest=" ""& Chr(39) & request(""destinazione"") & Chr(39)&"" "
    end if
    ottengo:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query '[& Chr(39) & request(]destinazione[) & Chr(39)&]'.
    /last_3/sito/admin/cerca_pta.asp, line 100

    perchè??
    Grazie.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Raddoppi le virgolette "", non gli apici ' che invece sono un'altra cosa.

    Roby

  3. #3
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    sono virgolette non apici....
    correggo il lessico:

    ho raddoppiato le virgolette

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Appunto. A che serve?

    Roby

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    forse non sono stato chiaro...

    se passo la stringa così:

    codice:
    if request("destinazione")<>"" then
    dest=" "& Chr(39) & request("destinazione") & Chr(39)&" "
    end if

    e al query così...

    codice:
    <%
    Set rec = Server.CreateObject("ADODB.Recordset")
    strSql="SELECT * from pren_2 WHERE "&dest&" ORDER BY data ASC"
    rec.open strsql, conn, 1 , 3
    if rec.Eof=True or rec.Bof=True then%>
    non mi filtra i record e a video mi da un responce.write = 'Cuba'
    quando dovrebbe darmi solo = Cuba.

  6. #6
    ma che cosa cerchi di filtrare?
    e poi gli apici glieli metti tu con il chr(39).

    se non vuoi gli apici devi scrivere così:

    dest=trim(request("destinazione"))

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La WHERE si fa nome campo = qualcosa....
    Tu metti solo la seconda parte.

    Roby

  8. #8
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    a posto non ero connesso
    pardon...

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    però ho un altro problema...

    se la stringa status <>0 e la stringa destinazione = ""
    codice:
    If request("status")<>"" then
    status=" status="& Chr(39) & request("status") & Chr(39) &" "
    end if
    if request("destinazione")<>"" then
    dest=" destinazione="&  Chr(39) & request("destinazione") & Chr(39)&" "
    end if
    nella query così costruita così si verifica la presenza di un (and) che porta in errore...

    Set rec = Server.CreateObject("ADODB.Recordset")
    strSql="SELECT * from pren_2 WHERE "&dest&" and "&status&" and "&idpren&" ORDER BY data ASC"
    rec.open strsql, conn, 1 , 3
    if rec.Eof=True or rec.Bof=True then%>

    come posso ovviare al problema in modo semplice?

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma "dest" a quale campo si riferisce???
    Se non glielo scrivi cosa ne sa?

    codice:
    WHERE destinazione = '"& dest &"' ... ad esempio
    Roby

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.