Erreur de syntax INSERT et UPDATE

Résolu
Kr33per35 Messages postés 7 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 janvier 2009 - 2 janv. 2009 à 19:23
Kr33per35 Messages postés 7 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 janvier 2009 - 3 janv. 2009 à 02:30
Bonjour,
Je dois faire un programme qui catalogues les produits d'une entreprise et pour cela j'utilise une base de donnée access. J'arrive bien à récupérer mes données et à les afficher mais j'ai 2 options, INSERT et UPDATE et pour chacun des boutons il me dit erreur de syntax dans l'instruction INSERT INTO ou UPDATE

private void btnInsert_Click(object sender, EventArgs e)
        {
            try
            {
                //Ici petit controle :
                //L'insertion se fait seulement si les champs du titre et de l'acteur ne
                //sont pas vides
                if (txtNameAdd.Text != "" && txtTypeAdd.Text != "")
                {
                    //Notre ordre INSERT est stocké ds une command
                    command = new OleDbCommand("INSERT INTO equipment(name,type,notes,date,picture) VALUES('" + txtNameAdd.Text + "','" + txtTypeAdd.Text + "','" + txtNotesAdd.Text + "','" + txtDateAdd.Text + "','" + txtPictureAdd.Text + "');", oleDbConnect);
                    //Ouverture connection
                    oleDbConnect.Open();
                    //Affichage de l'état de la connection sur notre statut Bar
                    rowAffected = command.ExecuteNonQuery();
                }
                //Si un des champs titre ou acteur est vide, on signale une erreur
                else
                {
                    MessageBox.Show("One or more case are empty");
                }
            }
            catch (Exception Erreur)
            {
                MessageBox.Show(Erreur.Message);
            }
            finally
            {
                //fermeture connection
                oleDbConnect.Close();
                //Affichage de l'état de la connection sur notre statut Bar
                //MessageBox.Show("equipment correcttly insert");
            }
            //fin de Update
        }

Merci de votre aide
A voir également:

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
2 janv. 2009 à 19:35
Salut,


Tu devrais te renseigner sur le concept de requête paramétrée (et le problème d'injection SQL).

/*
coq
MVP Visual C#
CoqBlog
*/
3
Kr33per35 Messages postés 7 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 janvier 2009
3 janv. 2009 à 02:30
Le problème était tout bête. J'avais un champ "date" et microsoft aime pas qu'on lui vole ses mot réservé.
Voila mon bouton insert fonctionne bien.
Mais mon bouton UPDATE ne fait rien. Il ne m'affiche aucun message d'erreur mais il n'update rien du tout

private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (txtNameMod.Text != "" && txtTypeMod.Text != "")
            {                command new OleDbCommand("UPDATE equipment SET name '" + txtNameMod.Text + "', type = '" + txtTypeMod.Text + "', notes = '" + txtNotesMod.Text + "', date_record = '" + txtDateMod.Text + "' WHERE (id LIKE '" + txtID.Text + "') ", oleDbConnect);
                try
                {
                    oleDbConnect.Open();
                    rowAffected = command.ExecuteNonQuery();
                }
                catch (Exception Erreur)
                {
                    MessageBox.Show(Erreur.Message);
                }
                finally
                {
                    oleDbConnect.Close();
                }
            }
            else
            {
                MessageBox.Show("Erreur lors de l'insertion!!");
            }
          
        }
3
Kr33per35 Messages postés 7 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 3 janvier 2009
3 janv. 2009 à 01:52
Pour être franc j'ai un niveau vraiment pas élevé et je dois finir ça assez vite. Je me suis aider du programme Gestion de DVD dispo sur le site.
Donc en gros j'ai pas compris la moitié de ce que tu as dis :D
Ce n'est pas du SQL mon truc ...
Tout marche niquel, Je récupère et affiche sans soucis ma table et tout ses champs. Mon seul problème est cette histoire de INSERT INTO et UPDATE.
J'ai pourtant fait comme dans gestion de DVD http://www.csharpfr.com/codes/GESTION-DVD_11536.aspx
0
Rejoignez-nous