Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB.NET]Impossibile inserire valore in un campo di una tabella di un db Access

    Devo inserire un nuovo record in una tabella di un database Access 97, l'operazione va a buon fine tranne se inserisco il valore di un campo specifico, alché mi dà errore di sintassi Sql, ho riscritto la stringa Sql più volte e alla fine se c'è anche quel campo mi da l'errore.
    il codice che ho usato è questo:
    codice:
            Cmd.CommandText = "INSERT INTO tabella (password) VALUES (@password)"
            Cmd.Parameters.AddWithValue("@password", "PASS")
            Cmd.ExecuteNonQuery()
    Dove il campo password è un normale campo testo di massimo 50 caratteri.
    La cosa strana è che da codice vb6 invece l'operazione riesce.
    Quello che mi domando è... cosa può mai avere quel campo per generarmi l'errore se non è un contatore? E poi perché errore di sintassi? C'è qualche problema quando un campo si chiama "password"?

  2. #2
    Ciao.
    Probabilmente Password è una parola riservata....prova a metterla tra parentesi quadre oppure cambia il nome del campo.
    Facci sapere...
    Ciao

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Sì, Password è senz'altro un "nome riservato".

    E' possibile che l'esito differente riscontrato nell'esecuzione della query in due ambienti sia dovuto al provider di accesso ai dati che in un caso specifico cerca di indovinare a cosa si riferisce quella parola chiave in base al contesto in cui viene utilizzata, "capendo" che si tratta del nome di un campo.

    Meglio comunque seguire i suggerimenti dati, cioè usare le parentesi quadre o attribuire ai campi un nome differente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    Il nome del campo nella tabella o il nome del campo nell'istruzione Sql tra parentesi?
    Grazie per le risposte!

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Cavaliere Nero
    Il nome del campo nella tabella o il nome del campo nell'istruzione Sql tra parentesi?
    Grazie per le risposte!
    Nell'istruzione, ovvio.

    Consiglio: se puoi è meglio cambiare il nome (es. PWD) così non avrai più rogne, altrimenti sei costretto a tenerlo sempre a mente...


  6. #6
    Ti ringrazio per il consiglio, per adesso mi conviene comunque lasciarlo così perché altrimenti dovrei andare a cambiare il riferimento anche a tutti i sorgenti che usano quel database
    Ciao.

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.