Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    54

    ASP: Errore query in caso di apostrofo

    Premetto di essere un programmatore dilettante.
    Mi permetto di chiedere al forum un aiuto alla soluzione di questo problema che descrivo di seguito.
    codice:
    Set rsComune = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT codice_comune FROM dati WHERE nome_comune = '" & comune & ".mdb'"
    rsComune.Open sql,objConn,1,4

    Se la variabile "comune" contiene un apostrofo la query mi genera questo errore di sintassi con riferimento alla seconda riga in quanto l'apostrofo stesso compromette la sintassi della query:

    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'nome_comune = 'CITTA' .mdb''

    Qualcuno può aiutarmi a risolvere questo problema?

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da LupinI Visualizza il messaggio
    Premetto di essere un programmatore dilettante.
    Mi permetto di chiedere al forum un aiuto alla soluzione di questo problema che descrivo di seguito.
    codice:
    Set rsComune = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT codice_comune FROM dati WHERE nome_comune = '" & comune & ".mdb'"
    rsComune.Open sql,objConn,1,4

    Se la variabile "comune" contiene un apostrofo la query mi genera questo errore di sintassi con riferimento alla seconda riga in quanto l'apostrofo stesso compromette la sintassi della query:

    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'nome_comune = 'CITTA' .mdb''

    Qualcuno può aiutarmi a risolvere questo problema?
    ciao

    perchè non gli togli l'apice singolo o doppio alla variabile comune prima di usarla nella query?
    tipo...
    codice:
    comune=replace(comune,"'","")
    Vic53

  3. #3
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    54
    il nome del database da aprire contiene l'apice, se lo tolgo non lo trova

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,781
    devi raddoppiare l'apice della variabile prima si eseguire la query

    un nome di file con l'apostrofo prima o poi ti darà sempre problemi, sarebbe meglio evitare

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592
    Quote Originariamente inviata da LupinI Visualizza il messaggio
    il nome del database da aprire contiene l'apice, se lo tolgo non lo trova
    allora MODIFICA LA QUERY
    codice:
    sql = "SELECT codice_comune FROM dati WHERE nome_comune = """ & comune & ".mdb"""
    Vic53

  6. #6
    Set rsComune =Server.CreateObject("ADODB.Recordset")
    sql
    ="SELECT codice_comune FROM dati WHERE nome_comune = '"&Replace(comune, "'", "''") &".mdb'"
    rsComune
    .Open sql,objConn,1,4

  7. #7
    Utente di HTML.it L'avatar di LupinI
    Registrato dal
    Jul 2008
    Messaggi
    54
    Benissimo, problema risolto.

    Con la soluzione di vic53 mi crea problemi perché al nome file aggiunge una parentesi quatra all'inizio ed alla fine.

    Col suggerimento di optime tutto ok.

    Grazie infinite a tutti

  8. #8

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.