suethi75
Messages postés101Date d'inscriptionmercredi 5 novembre 2008StatutMembreDernière intervention31 août 2009
-
25 févr. 2009 à 23:35
RougailSaucisse
Messages postés118Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention 6 décembre 2010
-
26 févr. 2009 à 23:58
bonjour,
je souhaite insérer des images dans la base de donnée oracle 10g express. Mais je crois que je n'arrive pas à gérer les blob. En fait, j'ouvre une fenêtre et je vais chercher le chemin pour l'enregistrer dans la base. Mais lorsque j'exécute le programme, " command.ExecuteNonQuery() " n'exécute pas la requête, je suppose que c'est dû au champs photoAdhérent. Pourriez vous m'aider. Voici un bout du script:
RougailSaucisse
Messages postés118Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention 6 décembre 20101 26 févr. 2009 à 00:11
euh la ta requete enregistre juste le chemin d'acces a ton image dans la bdd. Donc si c'est ca que tu veux faire, un champ varchar2 suffira amplement. le blob te permet d'enregistrer le fichier lui même dans la base et attend en entrée un tableau de byte (byte[]).
Si tu veux un peu d'inspiration regarde du coté de la msdn:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.filebytes(VS.80).aspx
Bien sur ce qui t'interesse ici c'est juste de récuperer le tableau de byte, ensuite tu n'as qu'a le passer dans ta requete.
RougailSaucisse
Messages postés118Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention 6 décembre 20101 26 févr. 2009 à 23:58
Hum est-ce que par hasard tu aurais un champ contenant un apostrophe dans une de tes variables (récupérées dans les textbox)?
Si oui il est fort probable que c'est du a cela. Normalement tu devrais faire des verifications sur tes champs avec de les inserer/requeter en base (cf prob d'injection sql).
Donc verifie qu'une de tes valeurs ne contiennent pas un apostrophe, si elles en contient il te faudrait encoder ta chaine lors de l'insertion pour eviter cela, mais le mieux a faire pour ne pas t'embeter trop dans ton cas serait je pense d'utiliser des requetes parametrées (google it!) ce qui donnerait un truc du genre:
cmd.CommandText = "SELECT UserId, UserEmail, UserName, UserSurname FROM UserInfo WHERE LangVersion=@lang";
cmd.Parameters.Add(new SqlParameter("@lang",TaTextbox.Text));
Ici c'est pour sql server mais je suppose que OracleParameter existe, et cmd est de type sqlcommand mais doit aussi avoir oraclecommand (je te laisse checker ca sur la msdn ^^)
sinon pour pas t'embeter a utiliser un oracleparameter tu peux passer par l'interface IdbParameter: