No value given for one or more required parameters

Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 - Modifié par Damboushow le 18/01/2016 à 12:55
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 - 18 janv. 2016 à 18:44
Bonjour,
J'ai une petite application d'horodateur simple qui recoit le scan d'une carte d'employé et inscrit l'heure dans la BD Access.

Mon Catch retourne le message d'erreur suivant:
No value given for one or more required parameters

public partial class Form1 : Form
    {
        private string laDate;
        private string lheure;
        private string noEmploye;
        private string ES;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
         //Bouton pour entrée au travail
        private void button1_Click(object sender, EventArgs e)
        {
            ES = "E";
            // Date et heure en string pour éviter les troubles avec Access
            laDate = "'" + DateTime.Now.ToString("dd-MM-yyyy") + "'";
            lheure = "'" + DateTime.Now.ToString("h:mm:ss") + "'";
            noEmploye = txtNoEmploye.Text;
            connDB();

        }
        //Bouton pour sortie du travail
        private void button2_Click(object sender, EventArgs e)
        {
            ES = "S";
            laDate = "'" + DateTime.Now.ToString("dd-MM-yyyy") + "'";
            lheure = "'" + DateTime.Now.ToString("h:mm:ss") + "'";
            noEmploye = txtNoEmploye.Text;

        }
        //Écriture vers la base de données
        private void connDB()
        {
            string test = "";
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
                @"Data Source=C:\Users\Dambou\Documents\HorodateurKMT.accdb";
            
            try
            {
                conn.Open();
                string requete = "INSERT INTO JournalES(CodeEmploye, DateE, HeureE, ES) VALUES ( " + noEmploye + "," + laDate + "," + lheure + "," + ES + ")";
                OleDbCommand oleCmd = new OleDbCommand(requete, conn);
                oleCmd.ExecuteNonQuery();
                conn.Close();
                test = "SUCCÈS";

            }
            catch (OleDbException ex)
            {
                test = ex.Source;
                conn.Close();
            }

            MessageBox.Show(test);
        }
    }

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 18/01/2016 à 13:10
Bonjour,
1) Ben .... Ce n'est pas du VBA, ce code-là !!!!!
Que vient faire cette discussion dans ce sous-forum (VBA) ?
2) ton problème est avant toute autre chose celui de la construction d'une requête.
On pe peut par ailleurs insérer (tellement évident) un article dans une table d'une base de données qui comporterait des champs obligatoires sans spécifier la valeur à donner à ces champs.
Une date et une heure, enfin, ne sont en général (sauf si table mal conçue) pas des chaînes de caractères

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
18 janv. 2016 à 13:35
Message redirigé vers C#.
0
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 2
18 janv. 2016 à 14:19
Merci d'avoir pris le temps de me répondre et de me redirriger. J'ai à la base utilisé le champ date de la BD access, mais je recevais toujours une erreur de format et de parentaise, j'ai donc décidé de l'inscrire au format text pour simplifier la manoeuvre.

Access m'est actuellement réfractaire peut importe ce que je tente de faire. J'ai bien hâte d'avoir le contrôle sur lui :)
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
18 janv. 2016 à 18:25
Les dates et heures sur Access sont de la forme #MM/DD/yyyy HH:MM:SS# ou #HH:MM:SS# sans ' ou "
0
Damboushow Messages postés 23 Date d'inscription vendredi 1 janvier 2016 Statut Membre Dernière intervention 9 mai 2016 2 > NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024
18 janv. 2016 à 18:44
Merci pour l'information, ton aide est très apprécié.
0
Rejoignez-nous