Zaltez
Messages postés
48
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2009
1
16 déc. 2007 à 19:18
Effectivement en ODBC c'est different j'ai suivi le lien mais :
Nouvelle erreur [HY090][Microsoft][Pilote ODBC Microsoft Access] Longueur de chaine ou de memoire tampon non valide
Voila la facon dont je procède (ordre de creation des objets et passages de parametres)
OdbcConnection objOdbcConn = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};" + s_adresseBD + ";FIL=MS Access for Microsoft Access");
string s_sql = "INSERT INTO [Films] ([Titre],[Date],[Realisateur],[Acteur],[Nation],[Genre],[Duree],[Resume],[Image],[Etoiles],[Support]) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
OdbcCommand objOdbcCommand = new OdbcCommand(s_sql);
OdbcParameter objParameter = new OdbcParameter();
objParameter = objOdbcCommand.Parameters.Add("@Titre", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Titre"];
objParameter = objOdbcCommand.Parameters.Add("@Date", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Date"];
objParameter = objOdbcCommand.Parameters.Add("@Realisateur", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Realisateur"];
objParameter = objOdbcCommand.Parameters.Add("@Acteur", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Acteur"];
objParameter = objOdbcCommand.Parameters.Add("@Nation", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Nation"];
objParameter = objOdbcCommand.Parameters.Add("@Genre", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Genre"];
objParameter = objOdbcCommand.Parameters.Add("@Duree", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Duree"];
objParameter = objOdbcCommand.Parameters.Add("@Resume", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Resume"];
objParameter = objOdbcCommand.Parameters.Add("@Image", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Image"];
objParameter = objOdbcCommand.Parameters.Add("@Etoiles", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Etoiles"];
objParameter = objOdbcCommand.Parameters.Add("@Support", OdbcType.Text);
objParameter.Value = (string)objhashDetailsFilm["Support"];
objOdbcCommand.Connection = objOdbcConn;
objOdbcCommand.ExecuteNonQuery();
.... (la suite n'a pas d'importance)
A noter que l'objet objParameter n'est pas necessaire puisque sa marche plutot produit la meme erreur avec ce code :
objOdbcCommand.Parameters.Add("@Titre", OdbcType.Text).Value = (string)objhashDetailsFilm["Titre"];
objOdbcCommand.Parameters.Add("@Date", OdbcType.Text).Value = (string)objhashDetailsFilm["Date"];
objOdbcCommand.Parameters.Add("@Realisateur", OdbcType.Text).Value = (string)objhashDetailsFilm["Realisateur"];
objOdbcCommand.Parameters.Add("@Acteur", OdbcType.Text).Value = (string)objhashDetailsFilm["Acteur"];
objOdbcCommand.Parameters.Add("@Nation", OdbcType.Text).Value = (string)objhashDetailsFilm["Nation"];
objOdbcCommand.Parameters.Add("@Genre", OdbcType.Text).Value = (string)objhashDetailsFilm["Genre"];
objOdbcCommand.Parameters.Add("@Duree", OdbcType.Text).Value = (string)objhashDetailsFilm["Duree"];
objOdbcCommand.Parameters.Add("@Resume", OdbcType.Text).Value = (string)objhashDetailsFilm["Resume"];
objOdbcCommand.Parameters.Add("@Image", OdbcType.Text).Value = (string)objhashDetailsFilm["Image"];
objOdbcCommand.Parameters.Add("@Etoiles", OdbcType.Text).Value = (string)objhashDetailsFilm["Etoiles"];
objOdbcCommand.Parameters.Add("@Support", OdbcType.Text).Value = (string)objhashDetailsFilm["Support"];