Bonjour tous le monde.

Enfin, bonsoir.

Ma config: VS2010
MySql Server


Ca fait quelques heures que je suis sur le problème suivant.

Dans mon applic, j'ai un pictureBox que je remplis depuis une table qui ce trouve dans ma base MySql. Le Champ est de type BLOB. Si j'enregistre la valeure directement avec l'outil d'administration MySql, je n'ai aucuns soucis pour afficher mon image. Par contre, si j'enregistre par l'intermédiaire de mon applic, les données binaires ne sont pas complètes.

Quand j'enregistre, ma valeure Byte[] vaut 21009 (Image de test).
Si je passe via l'outil d'admin, au moment de la lecture, cette valeure est identique dans mon applic et, mon image s'affiche.
Si j'enregistre via mon applic, au moment le la lecture, cette valeure est Byte[] vaut{6} et, logique que j'ai une erreur.

Après plusieurs essais, je constate que dans ma requete de mise à jour, la valeure est correct mais, il semble que surement un paramètre ne soit pas correct.

Je joint un bout de code, plus très propre car énorméments de test mais, j'espère qu'avec cela une solution sera trouvée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static Boolean Record_Img(String SqlStr,Byte[] Parametre)
        {
 
//SqlStr = Chaine Sql
//Parametre = Valeure binaire à enregistrer
 
//Enregistrement DB
                OdbcCommand MyComm1 = new OdbcCommand(SqlStr, Params.My_Connection);
                OdbcParameter prm = new OdbcParameter();
                prm.ParameterName = "?Image";
                prm.OdbcType = OdbcType.VarBinary;
                prm.Direction = ParameterDirection.Input;
                prm.SourceVersion = DataRowVersion.Current;
                prm.IsNullable = true;
                prm.Size = Parametre.Length;
                prm.Value = Parametre;
 
                MyComm1.Parameters.Add(prm);
                MyComm1.ExecuteNonQuery();
                MyComm1 = null;
                return true;
}
J'ai essayé, énorméments de changements mais, c'est toujours identique.
Problème peut-être d'ailleur?

Déjà un grand merci d'avance.