+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

[VS2010] Errore di sintassi nell'istruzione UPDATE

  1. #1
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Post
    1,267
    Like Inviati  
    0
    Like Ricevuti  
    0
    errore di sintassi:
        Public Shared Function ClientiUpdate(ByVal prmIDRecord As Long, ByVal table As String) As String
    
            If prmIDRecord > 0 Then
                sSQL = " UPDATE " & table
                sSQL = sSQL & " SET Ragione_sociale = @Ragione_sociale "
                sSQL = sSQL & " ,Nome = @Nome "
                sSQL = sSQL & " ,Citta = @Citta "
                sSQL = sSQL & " ,Indirizzo = @Indirizzo "
                sSQL = sSQL & " ,CAP = @CAP "
                sSQL = sSQL & " ,Provincia = @Provincia "
                sSQL = sSQL & " ,Stato = @Stato "
                sSQL = sSQL & " ,Telefono = @Telefono "
                sSQL = sSQL & " ,Email = @Email "
                sSQL = sSQL & " ,PIVA = @PIVA "
                sSQL = sSQL & " ,CF = @CF "
                sSQL = sSQL & " ,Note = @Note "
                sSQL = sSQL & " WHERE ID = " & prmIDRecord
            Else
                sSQL = " INSERT INTO " & table
                sSQL = sSQL & " (Ragione_sociale, Nome, Citta, Indirizzo,  CAP,  Provincia,  Stato,  Telefono,  Email,  PIVA,  CF,  [Note]) "
                sSQL = sSQL & " VALUES ("
                sSQL = sSQL & " @Ragione_sociale, @Nome, @Citta, @Indirizzo, @CAP, @Provincia, @Stato, @Telefono, @Email, @PIVA, @CF, @Note)"
            End If
    
            ClientiUpdate = sSQL
            Debug.Print(ClientiUpdate)
        End Function
    
    io purtroppo non riesco a vedere l'errore voi?
    ℹ️ Leggi di pi su dolcissimo ...

  2. #2
    L'avatar di elisab
    elisab non  in linea Scribacchino
    Post
    1,750
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    Note una parora riservata per Access, metti il nome del campo tra parentesi quadrate [] come hai fatto nella INSERT.Parole riservate in Access 2002 e Access 2003

    Per Jet via OLEDB il parametro posizionale e si drovrebbe usare il ? (punto interrogativo). Perch non usi il parametro anche per specificare l'ID?

    Se devi concatenare numerose stringhe usa uno StringBuilder, perch ogni volta che concateni la variabile distrutta e ricreata.
    Se concateni per migliorare la leggibilit della stringa nell'IDE puoi sfruttare il ritorno a capo.

            sSql = " UPDATE " & table & _
                    " SET Ragione_sociale = @Ragione_sociale " & _
                    " ,Nome = @Nome " & _
                    " ,Citta = @Citta " & _
                    " ,Indirizzo = @Indirizzo " & _
                    " ,CAP = @CAP " & _
                    " ,Provincia = @Provincia " & _
                    " ,Stato = @Stato " & _
                    " ,Telefono = @Telefono " & _
                    " ,Email = @Email " & _
                    " ,PIVA = @PIVA " & _
                    " ,CF = @CF " & _
                    " ,Note = @Note " & _
                    " WHERE ID = " & prmIDRecord
    
    ℹ️ Leggi di pi su elisab ...

  3. #3
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Post
    1,267
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao Elisab , si vero non ci avevo pensato per "note" qundi in caso con l'esempio che hai fatto tu diventa cos:
    sSql = " UPDATE " & table & _
                    " SET Ragione_sociale = @Ragione_sociale " & _
                    " ,Nome = @Nome " & _
                    " ,Citta = @Citta " & _
                    " ,Indirizzo = @Indirizzo " & _
                    " ,CAP = @CAP " & _
                    " ,Provincia = @Provincia " & _
                    " ,Stato = @Stato " & _
                    " ,Telefono = @Telefono " & _
                    " ,Email = @Email " & _
                    " ,PIVA = @PIVA " & _
                    " ,CF = @CF " & _
                    " ,[Note] = @Note " & _
                    " WHERE ID = " & prmIDRecord
    
    Perch non usi il parametro anche per specificare l'ID?

    in che senso? non ho capito!!!
    ℹ️ Leggi di pi su dolcissimo ...

  4. #4
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Post
    1,267
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ecco in questo modo giusto?
    sSql = " UPDATE " & table & _
                    " SET ID = @ID" & _
                    " ,Ragione_sociale= @Ragione_sociale" & _                
                    " ,Nome = @Nome " & _
                    " ,Citta = @Citta " & _
                    " ,Indirizzo = @Indirizzo " & _
                    " ,CAP = @CAP " & _
                    " ,Provincia = @Provincia " & _
                    " ,Stato = @Stato " & _
                    " ,Telefono = @Telefono " & _
                    " ,Email = @Email " & _
                    " ,PIVA = @PIVA " & _
                    " ,CF = @CF " & _
                    " ,[Note] = @Note " & _
                    " WHERE ID = " & prmIDRecord
    
    era quello che volevi dire?
    ℹ️ Leggi di pi su dolcissimo ...

  5. #5
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Post
    4,378
    Blogs
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ogni volta che vedo qualcuno utilizzare ancora comandi sql come quello appena descritto mi viene da vom..are!.
    ℹ️ Leggi di pi su Cteniza ...

  6. #6
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Post
    1,267
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao, scusa e come si devono usare? perch non ci illustri cos impariamo, o meglio ancora imparo....... a me piace accettare consigli e confrontarmi.
    ℹ️ Leggi di pi su dolcissimo ...

  7. #7
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Post
    4,378
    Blogs
    36
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da dolcissimo Visualizza il messaggio
    Ciao, scusa e come si devono usare? perch non ci illustri cos impariamo, o meglio ancora imparo....... a me piace accettare consigli e confrontarmi.
    Quando si scrive una query, qualsiasi query, si utilizzano i parametri e non il codice "in linea".
    ADO.NET - utilizzo dei parametri su C# e VB.NET
    ℹ️ Leggi di pi su Cteniza ...

  8. #8
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Post
    1,267
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao grazie per i consigli, effettivamente io non mai usato i parametri e mi rendo conto, che effettivamente vado incontro a tanti errori, adesso volevo chiederti un favore mi potresti dire nel mio caso, usando i parametri come viene trasformata la mia query? grazie anticipatamente per il tempo che mi hai dedicato.....
    ℹ️ Leggi di pi su dolcissimo ...

  9. #9
    L'avatar di elisab
    elisab non  in linea Scribacchino
    Post
    1,750
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    io mi riferivo alla clausula WHERE

    " WHERE ID = " & prmIDRecord
    
    anche qui devi mettere il parametro, usando il punto interrogativo come segnaposto. Usare @nomeparametro per Jet via Oledb non solleva eccezioni, ma non coretto.

    " WHERE ID = ?"
    
    ℹ️ Leggi di pi su elisab ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Sintassi per maschere e sottomaschere nell'istruzione Forms
    Da giulconi nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 04-11-2014, 21:25
  2. Risposte: 1
    Ultimo Post: 01-11-2014, 15:40
  3. errore di sintassi nell'istruzione INSERT INTO
    Da Sid233 nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 10-03-2011, 21:08
  4. errore di sintassi nell'espressione update
    Da mattoneo nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 11-11-2008, 18:08
  5. VB2005 - Errore sintassi con istruzione AddHandler
    Da Gandalfrank nel forum Visual Basic .Net
    Risposte: 11
    Ultimo Post: 26-07-2007, 14:36