Problème d'insertion d'image dans une base foxpro

guyantoinemav Messages postés 2 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 16 décembre 2009 - 4 déc. 2009 à 09:46
guyantoinemav Messages postés 2 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 16 décembre 2009 - 16 déc. 2009 à 13:09
Bonjour, j'ai un soucis pour insérer des images dans ma base foxpro.
J'ai une application VFP 6 que je veux migrer vers c# en conservant la base de données FoxPro. le code C# semble correcte mais lors de l'insertion j'ai un message d'erreur: "Erreur: ERROR[42000][Microsoft ][ODBC visual Foxpro Driver]: erreur syntaxe"
je voudrais que l'on me donne des explications.
extrait de mon code en C#:
try
            {
                // Tableau d'octets representant l'image au format jpeg
                MemoryStream mstImage = new MemoryStream();
                pictureBox1.Image.Save(mstImage, System.Drawing.Imaging.ImageFormat.Jpeg);
                Byte[] bytImage = mstImage.GetBuffer();
                
                //création de la connection
                OdbcConnection connection = new OdbcConnection();
                //chaine de connection (du type "DSN=monDSN)
                string chaineDeConnection = "Dsn=basetest";
                //affectation de la chaine de connection à la connection
                connection.ConnectionString = chaineDeConnection;
                //ouverture de la connection
                connection.Open();
                MessageBox.Show(" Connexion réussi ...");
                // Insere l'image dans la base
 
                string requete = "insert into operlogo (idlogo,logo) values(@idlogo,@image)";
                OdbcCommand comm = new OdbcCommand(requete, connection);
                comm.Parameters.AddWithValue("@idlogo", textbox.Text);
                OdbcParameter param = new OdbcParameter("@image", "varbinary");
                param.Direction = ParameterDirection.Input;
                comm.Parameters.Add(param);
                param.Value = bytImage; 
 
                comm.ExecuteNonQuery();
                connection.Close();
            }


merci d'avance

2 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
10 déc. 2009 à 17:29
Bonjour,

je ne l'ai pas vérifié sur odbc derière C#, mais essaies d'utiliser des ? à la place des @ dans la string requete. Normalement, c'est le SGBDR qui doit compiler la string de requète que lui passe l'odbc, et pour VFP, c'est le ? qui repère les paramètres.

J'essaie de tester dès que j'ai un moment
0
guyantoinemav Messages postés 2 Date d'inscription jeudi 14 août 2008 Statut Membre Dernière intervention 16 décembre 2009
16 déc. 2009 à 13:09
salut, le problème se trouvait au niveau des "@" que j'ai remplacé par des "?" et ça fonctionne.
merci ...
0
Rejoignez-nous