Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Sql errore sintassi

  1. #1

    Sql errore sintassi

    Forse questo non è il forum più adatto, dato che la domanda non è prettamente su vb ma piuttosto sull'Sql in generale. Però il prog l'ho fatto in VB e quindi posto qui...

    Ho connesso il mio prog ad un database access con ADO. Tutto OK. Anche le queries vanno benissimo... tranne questa. :master: ADO mi continua a dire che c'è un errore di sintassi, manca un operatore. Dato che la query originale era lunghissima l'ho ridotta per trovare il punto esatto. Ho scoperto che il problema sta nel WHERE. La query ridotta è questa
    codice:
    Query = "SELECT * FROM classes WHERE ((IDSchool = " & SchoolID & ") AND ((Class = 1 OR Class = 2 OR Class = 3) AND ([Section] != 'Alpha' AND [Section] != 'Beta' AND [Section] != 'Gamma'))) ORDER BY Class ASC, [Section] ASC"
    In particolare il problema dovrebbe essere in questa parte
    codice:
    ([Section] != 'Alpha' AND [Section] != 'Beta' AND [Section] != 'Gamma')
    Potete aiutarmi a trovare l'errore? Sono tre ore che cerco di trovarlo ma nulla da fare... non penso di essere diventato scemo in di colpo (almeno spero)

    Grazie a tutti

    PS: Il nome del campo Section è tra parentesi quadre perchè SECTION è un nome riservato di SQL. Non penso che il problema sia qui, dato che ha sempre funzionato... fino a quando non ho aumentato le condizioni del WHERE
    Claudio

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    se non sbaglio il simbolo != sta ad indicare diverso in C/C++ giusto?

    provato con <> al posto di != ?

  3. #3
    Infatti il problema era proprio quello... una cavolata.
    Il fatto è che programmando in PHP ho sempre usato != anche nelle query. Sono sempre stato convinto che in una query il linguaggio da usare è l'SQL indipendentemente dal linguaggio usato nel progamma o nello script. Adesso ho capito che non è così (sempre che io abbia capito bene...)

    Cmq avevo trovato la soluzione appena prima che mi rispondessi (tre ore di tempo buttave via per una scemata ).

    In ogni caso ti ringrazio

    ciao ciao
    Claudio

  4. #4
    PHP è un linuaggio interpretato che comunque non si connette direttamente con il dbms (almeno mi pare) ma usa la vm per farlo. Quindi anche la query veniva tradotta dalla VM. In VB questa è diretta e bisogna adottare il dialetto SQL giusto per il dbms che si sta utilizzando. Infatti con alcuni DBvi sono delle differenze. Per esempio in Oracle per cercare tramite un LIKE bisogna utilizzare la % al posto della * come si utilizza con i motori MS.

    Attenzione sempre.
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  5. #5
    ora è tutto più chiaro... grazie
    Claudio

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.