Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    32

    [vb.net] Update

    Ciao a tutti, volevo un chiarimento

    Uso questa istruzione per inserire dati in database access.

    codice:
    objCommand.CommandText = "INSERT INTO Tabella1 " & "(campo1, campo2) " & "VALUES(@campo1,@campo2);"
    Però non volevo aggiungerli ma sostituirli, quindi pensavo di usare l'istruzione UPDATE
    però mi ritorna l'errore che l'istruzione non è corretta.

    codice:
    objCommand.CommandText = "UPDATE Tabella1 " & "(campo1, campo2) " & "VALUES(@campo1,@campo2);"
    Dove ho sbagliato e cosa mi consigliate.

    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    codice:
    objCommand.CommandText = "UPDATE Tabella1 SET campo1=@campo1, campo2=@campo2"
    N.B.
    Il punto e virgola finale non serve a niente, in un database Access, dato che non è possibile eseguire più istruzioni (come invece avviene con altri database es. SQLServer).



  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da mao212
    però mi ritorna l'errore che l'istruzione non è corretta.
    Specifica sempre l'errore che ti viene restituito con precisione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    32
    Grazie delle risposte, purtroppo adesso non riesco a verificare l'errore esatto e nemmeno a fare delle prove.

    Comunque vi faccio sapere nel primo pomeriggio.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    32
    L'errore che mi da è:
    errore di sintassi nell'istruzione UPDATE

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Prova a postare tutta la parte di codice che include l'esecuzione della query, per vedere come è impostata la connessione, il comando, ecc.

    Indicativamente, sospetto che la notazione dei parametri espressa nel formato @nome non sia supportata da Access, o più in generale dalle librerie per l'accesso a questo database (OLE DB).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da alka
    Prova a postare tutta la parte di codice che include l'esecuzione della query, per vedere come è impostata la connessione, il comando, ecc.

    Indicativamente, sospetto che la notazione dei parametri espressa nel formato @nome non sia supportata da Access, o più in generale dalle librerie per l'accesso a questo database (OLE DB).
    infatti, bisogna utilizzare : al posto di @
    I got the remedy

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da gibra
    codice:
    objCommand.CommandText = "UPDATE Tabella1 SET campo1=@campo1, campo2=@campo2"
    oppure

    codice:
    objCommand.CommandText = "UPDATE Tabella1 SET campo1=?, campo2=?
    In questo caso i parametri devono essere creati nello stesso ordine dei campi.

    Eventualmente puoi scaricarti il mio progetto di esempio su ADO.NET in firma.


  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    32
    Si Funziona!
    Cosi effettivamente funziona, grazie Gibra.

    codice:
    objCommand.CommandText = "UPDATE Tabella1 SET campo1=@campo1, campo2=@campo2"
    Però non mi è molto chiaro il fatto che se usavo l'istruzione INSERT INTO

    codice:
    objCommand.CommandText = "INSERT INTO Tabella1 " & "(campo1, campo2) " & "VALUES(@campo1,@campo2);"
    i dati al DataBase venivano inseriti e non avevo nessun tipo di errore.

    Grazie a tutti

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da mao212
    Si Funziona!
    Cosi effettivamente funziona, grazie Gibra.
    Prego.

    Originariamente inviato da mao212
    Però non mi è molto chiaro il fatto che se usavo l'istruzione INSERT INTO
    [CUT]
    i dati al DataBase venivano inseriti e non avevo nessun tipo di errore.
    Perchè INSERT INTO serve ad inserire record, invece UPDATE ad aggiornarli.
    per cui la sintassi è differente.

    Di solito questi dubbi svaniscono quando si studia una guida sul linguaggio SQL.


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.