Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395

    Errore sintassi query per Sql Server

    Ciao ho la seguente query che in access mi funziona benissimo ma in Sql Server mi da errore di sintassi...


    sql="SELECT * FROM Staff where IdStaff in (" + Replace(RefIdStaffSendToRead, "'", "''") + ") Order by Name asc"


    Sql Server Management Studio:
    Msg 105, Level 15, State 1, Line 1
    Unclosed quotation mark after the character string '", "'") + ") Order by Name asc
    '.
    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near '", "'") + ") Order by Name asc
    '.

    Asp:
    Error Type:
    Microsoft OLE DB Provider for SQL Server (0x80040E14)
    Incorrect syntax near ')'.

    Ho fatto vari tentativi ma non trovo la forma giusta per la sintassi, qualcuno mi sa aiutare?
    Grazie

  2. #2
    Fai una response.write sql dopo la riga in cui valorizzi la variabile sql e quindi metti un response.end di seguito e vediamo cosa ti scrive sulla pagina.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    ecco mi scrive questo:

    SELECT * FROM Staff where IdStaff IN (1, 22,) Order by Name asc

  4. #4
    Ci sta na virgola di troppo dopo 22

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    ok me ne sono accorto ma come faccio a toglierla dall'sql?
    viene messa una virgola dopo tutti i numeri per separarli fra loro....

  6. #6
    Usi qualche ciclo per costruire la stringa RefIdStaffSendToRead? Oppure ti arriva da qualche form?

  7. #7
    Originariamente inviato da tabarto
    ok me ne sono accorto ma come faccio a toglierla dall'sql?
    viene messa una virgola dopo tutti i numeri per separarli fra loro....
    ma tu guarda... http://forum.html.it/forum/showthrea...readid=1177782

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    lo prende da una querystring dopo che l'ho messo in sessione:

    RefIdStaffSendToRead = RefIdStaffSendToRead & RefStaff &(",")
    session("Id") = RefIdSendToRead
    session.timeout = 20
    session("RefId") = RefIdStaffSendToRead
    session.timeout = 20


    il problema e' che viene messa per intervallare i vari id dovrei riuscire dalla query a togliere la virgola.
    Ma la cosa strana e' che in access funziona alla perfezione penso che il problema sia sulla sintassi dell'sql, che ne dici?

  9. #9
    Non aggiungere l'ultima virgola.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395
    optime ho visto la tua risposta:

    senzavirgola=left(convirgola, len(convirgola)-1)

    ma come faccio a metterla nella query?

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.