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

Discussione: Errore di sintassi

  1. #1

    Errore di sintassi

    Buonasera ragazzi,

    ho un errore di sintassi con il browser che mi restituisce questo:

    codice:
    Microsoft JET Database Engine (0x80040E14)
    Errore di sintassi. nell'espressione della query 'AD_POSTER IN (SELECT DISTINCT FROM CAP WHERE C_CAP = ' 65100 ' OR C_CAP = ' 65029 ' OR C_CAP = ' 65028 ' OR C_CAP = ' 65027' OR C_CAP = ' 65026' OR C_CAP = ' 65024 ' OR C_CAP = ' 66010' OR C_CAP = ' 66010 ' OR C_CAP = '66010' OR C_CAP = ' 66010' OR C_CA'.
    /test/inc_search_cap.asp, line 34
    forse è un caso, ma si ferma alla 11a variabile (che tra l'altro esiste come le altre).
    Avete un'idea di cosa può essere?
    Grazie
    Pochi sanno, molti presumono di sapere.

  2. #2
    come formi la stringa sql? posta un po' di codice pls

  3. #3
    Grazie Optime, apprezzo molto la tua disponibilità.

    Cmq il codice è:

    codice:
    rsAds.Source = "SELECT * FROM ads WHERE AD_POSTER IN (SELECT DISTINCT FROM CAP WHERE C_CAP =  ' " & session("mycap") & " '  OR C_CAP = ' " & session("cap1") & " ' OR C_CAP = ' " & session("cap2") & " ' OR C_CAP = ' " & session("cap3") & "' OR C_CAP = ' " & session("cap4") & "' OR C_CAP = ' " & session("cap5") & " ' OR C_CAP = ' " & session("cap6") & "' OR C_CAP = ' " & session("cap7") & " ' OR C_CAP = '" & session("cap8") & "' OR C_CAP = ' " & session("cap9") & "' OR C_CAP = '" &session("cap10") & "' AND ABILITATO = '1')"
    ed è quello che mi è stato suggerito ieri da Roby.( sembra sia una soluzione indolore)
    Pochi sanno, molti presumono di sapere.

  4. #4
    ma quanti cap hai? è un numero fisso o variabile?

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi stampare a video la query prima di eseguirla.
    Fai attenzione: gli spazi contenuti dopo l'apertura degli apici e prima della loro chiusura rapprensentano valori che la query esegue... Quindi se non ti servono come presumo eliminali!

    Roby

  6. #6
    e poi, le tabelle ads e cap sono sulla stessa macchina (o addirittura lo stesso db)?

  7. #7
    è un numero fisso 10 cambiano i C_USERS che li preleva dalla tabella CAP ... e quindi ti ho postato una cosa inesatta. quella giusta è questa.

    [code]
    rs.Source = "SELECT * FROM ads WHERE AD_POSTER IN (SELECT DISTINCT C_USERS FROM CAP WHERE C_CAP = ' " & session("mycap") & " ' OR C_CAP = ' " & session("cap1") & " ' OR C_CAP = ' " & session("cap2") & " ' OR C_CAP = ' " & session("cap3") & "' OR C_CAP = ' " & session("cap4") & "' OR C_CAP = ' " & session("cap5") & " ' OR C_CAP = ' " & session("cap6") & "' OR C_CAP = ' " & session("cap7") & " ' OR C_CAP = '" & session("cap8") & "' OR C_CAP = ' " & session("cap9") & "' OR C_CAP = '" &session("cap10") & "' AND ABILITATO = '1')"
    [code]

    mancava il campo.. però è strano perche mi dà:

    ADODB.Recordset (0x800A0BCD)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente

    ... presumo che la query non è stata soffisfatta, mancherebbe il controllo dell'EOF, ma a parte tutto risulta impossibile perchè i dati ci sono..
    E' possibile che ci sia una inesattezza o un conflitto con la query?
    Pochi sanno, molti presumono di sapere.

  8. #8
    l'errore è cambiato, giusto? quindi la query è ok, devi solo controllare che riporti qualcosa. ctrl .eof

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Intanto metti quel controllo EOF che manca e poi ti ho chiesto di stampare la query...

    Roby

  10. #10
    sarebbe interessante anche vedere come vengono ricavati tutti quei cap...

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.