ERROR [HY090] [Microsoft][Pilote ODBC Microsoft Access]

Signaler
Messages postés
1
Date d'inscription
mercredi 2 mars 2016
Statut
Membre
Dernière intervention
2 mars 2016
-
Bonsoir

je me permet de vous contacter car j'ai une base access stockée dans un fichier temporaire. j'essaye de me connecter à ma base pour ajouter des images
et j'obtient l'erreur

ERROR [HY090] [Microsoft][Pilote ODBC Microsoft Access]Longueur de chaîne ou de mémoire tampon non valide

Voici le code que j'utilise code suivant:




connectionString = "Driver={Microsoft Access Driver (*.mdb)};" + "DBQ=" + tempfile;
            OdbcCommand command = new OdbcCommand();

            OdbcConnection connection = new OdbcConnection(connectionString);
            command.Connection = connection;
            connection.Open();
command.CommandText = "INSERT INTO [TableDonnees  1] (Enregistrement, Q17, Q19, Q33) Values (?,?,?,?) ";
                            command.Parameters.Clear();
                            OdbcParameter Enregistrement = new OdbcParameter("@Enregistrement", OdbcType.Int, System.Int32.MaxValue );
                            Enregistrement.Value = numeroEnregistrement;
                            command.Parameters.Add(Enregistrement);

                            byte[] fichier1 = (byte[])p.Champs["Q17"];
                            int lenght = fichier1.Length;
                            OdbcParameter Q17 = new OdbcParameter("@Q17", OdbcType.VarBinary,System.Byte.MaxValue);
                            Q17.Value = p.Champs["Q17"];
                           command.Parameters.Add(Q17);

                             fichier1 = (byte[])p.Champs["Q19"];
                             lenght = fichier1.Length;
                             OdbcParameter Q19 = new OdbcParameter("@Q19", OdbcType.VarBinary,System.Byte.MaxValue);
                           Q19.Value = p.Champs["Q19"];
                          
                           command.Parameters.Add(Q19);
                            fichier1 = (byte[])p.Champs["Q33"];
                             lenght = fichier1.Length;
                             OdbcParameter Q33 = new OdbcParameter("@Q33", OdbcType.VarBinary,System.Byte.MaxValue);
                           Q19.Value = p.Champs["Q33"];
                           command.Parameters.Add(Q33);
                           command.ExecuteNonQuery();

J'ai lu quelques articles sur le site mais je n'ai pas beaucoup avancé

Merci pour vos réponses

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.