Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ajouter image Bdd ACCESS [ Base de données / Access ] (ggrug26)

jeudi 6 mars 2008 à 16:00:13 | ajouter image Bdd ACCESS

ggrug26

Bonjour,

je programme sous C#,

mon programme doit permettre d'ajouter une image dans une table, dans une Bdd,
et voici mon erreur: "La référence d'objet n'est pas définie à une instance d'un objet."

Mon code:

privatevoid btEnregistrIMG_Click(object sender, EventArgs e)

{

//On récupère les valeures des variables à modifier

this.CsV.Image = pbxImage.Image;

//on vérifie que tout les champs sont remplis

if (pbxImage.Image == null)

{

MessageBox.Show("Veuillez choisir une image au préalable");

}

else

{

//déclaration du data adapter

OleDbDataAdapter Dta = newOleDbDataAdapter(this.SqlGrid, this.Conn);

//création d'une nouvelle ligne

this.DtrGrid = this.DtsGrid.Tables["PhotoContact"].NewRow();                   !!!!!C'est ici que se produit l'erreur !!!!

//Ajout de la ligne et remplissage des différents champs

this.DtrGrid["N°"] = this.DtsGrid.Tables["PhotoContact"].Rows.Count + 1;

this.DtrGrid["Image"] = CsV.Image;

//ajout de la ligne à la table (affichage visuel)

this.DtsGrid.Tables["PhotoContact"].Rows.Add(DtrGrid);

//on leve l'exception

try

{

//on met tout dans la base de donnée

this.CmdGrid = newOleDbCommandBuilder(Dta);

Dta.UpdateCommand = CmdGrid.GetUpdateCommand();

Dta.Update(DtsGrid,

"TabDonneesContacts");

}

//on gere l'exception en cas d'enregistrement raté.

catch (DBConcurrencyException DBCEx)

{

MessageBox.Show("Impossible d'enregistrer le nouveau contact");

} }

quelqu'un serait il en mesure de me dire ce qu'est cette erreur, je ne vois pas du tout

Merci de votre aide !



jeudi 6 mars 2008 à 16:40:07 | Re : ajouter image Bdd ACCESS

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,

Eh bien, soit DtsGrid n'existe pas (vérifie qu'il est bien créé), soit DtsGrid.Table["PhotoContact"] n'existe pas...  !

Vérifie que le DataTable auquel tu veux accéder s'appelle bien "PhotoContact" ; ça peut être une erreur de frappe, au lieu de "PhotosContact" ou "PhotoContacts" ou un truc du genre...

Bonne journée,
A++


Nurgle (Antoine) - MSP

vendredi 7 mars 2008 à 07:48:50 | Re : ajouter image Bdd ACCESS

ggrug26

Salut,

le onm de table est correct, le dtsgrid est bien déclarer,
je l'utilise dailleurs dans un autre bouton et il marche sans souci...

Je suis en train de penser a qq chose le datatable permet de se lier avec la Bdd, mais par contre dans mon datagrid view que j'utilise, j'affiche une autre table de la meme Bdd.

Serais-ce parce que je n'utilise pas la meme table?

vendredi 7 mars 2008 à 09:35:41 | Re : ajouter image Bdd ACCESS

ggrug26

HOP !!!!!!   Modif !!  Mais ça marche toujours pas ...
Apparemment, je n'utilisait pas la bonne méthode pour récupérer mon image!

D'après ce que j'ai trouvé, je dois utiliser un tableau de byte (Byte[] bytImage = mstImage.GetBuffer();)

Par contre j'ai le meme type d'erreur que lorsque j'oubli de renseigner une colonne,
soit qu'il y a un problème dans la requete INSERT TO...
Je n'ai que 2 colonne pourtant (N° et Image).
 
Des idées ???

code:

privatevoid btEnregistrIMG_Click(object sender, EventArgs e)
{
//on vérifie que tout les champs sont remplis
if (pbxImage.Image == null)
{
MessageBox.Show("Veuillez choisir une image au préalable");
}
else
{
// Tableau d'octets representant l'image au format jpeg
MemoryStream mstImage = newMemoryStream();
pbxImage.Image.Save(mstImage, System.Drawing.Imaging.
ImageFormat.Jpeg);
Byte[] bytImage = mstImage.GetBuffer();
//déclaration du data adapter
OleDbDataAdapter Dta = newOleDbDataAdapter(this.SqlGrid, this.Conn);
//création d'une nouvelle ligne
this.DtrGrid = this.DtsGrid.Tables["TabDonneesContacts"].NewRow();
//Ajout de la ligne et remplissage des différents champs
this.DtrGrid["ID"] = this.DtsGrid.Tables["TabDonneesContacts"].Rows.Count + 1;
this.DtrGrid["Image"] = bytImage;
//ajout de la ligne à la table (affichage visuel)
this.DtsGrid.Tables["TabDonneesContacts"].Rows.Add(DtrGrid);
//on leve l'exception
try
{
//on met tout dans la base de donnée
this.CmdGrid = newOleDbCommandBuilder(Dta);
Dta.UpdateCommand = CmdGrid.GetUpdateCommand();
Dta.Update(DtsGrid,
"TabDonneesContacts");                                                    !!!!on plante ici !!!!
}
//on gere l'exception en cas d'enregistrement raté.
catch (DBConcurrencyException DBCEx)
{
MessageBox.Show("Impossible d'enregistrer la nouvelle image...");
}}

vendredi 7 mars 2008 à 11:43:36 | Re : ajouter image Bdd ACCESS

ggrug26

pour préciser , en fait tout ce que j'ai déclaré, je l'ai fait pour l'autre table.

la requete SqlGrid est réécrite pour la bonne table et le nom de table est changé, mais y a t il d'autres choses a voir? dois-je faire une autre ouverture de Bdd, mais cette fois ci avec la deuxieme table?

mardi 11 mars 2008 à 09:40:46 | Re : ajouter image Bdd ACCESS

ggrug26

J'ai tout repris, mes dataset, datarow, datatable sont déclaré en double (pour mes 2 tables).

J'ai oublié de dire je crois que l'erreur retourné est erreur de syntaxe dans l'instruction INSERT INTO.

cette erreur m'est déja apparu lorsque j'essayer de faire une mise a jour de table sans avoir renseigner toutes les lignes.

Là j'en ai 2 et je renseigne les 2 mais est ce que mon type Byte utilisé est la bonne chose a utilisé pour enregistré une image?
Dans la base je met l'image dans un objet OLE...

Des idées ? des questions? j'ai que cette partie qui ne marche pas et la je suis en galère.

Merci de votre aide.



Cette discussion est classé dans : image, ajouter, dta, dtrgrid, dtsgrid


Répondre à ce message

Sujets en rapport avec ce message

Ajouter une image dans chaques onglets de mon tabControl [ par Online ] Comment peux t'on faire ca ?;) DataGridView : PictureBox [ par pitch6969 ] Bonjour je voudrais savoir s'il est possible de rajouter une image sur un datagridview, les images que je veux ajouter ne sont pas stocker dans la bas Ajouter une image dans une Grid - XAML / C# [ par jim462 ] Bonjour,Je cherche comment ajouter une image dans une Grid.Par contre, je ne la veux pas dans le code XAML, mais dans le code C# (la raison, l'image s Image et TabItem ??? [ par gglamicose ] Bonjour a tous !! Voila, je suis en train de faire une petite application en xaml, et je me disais que ce serrait sympa d'ajouter une image a coté du comment ajouter une image en turbo c++ [ par laststorm ] bonjour je fais un programme en turbo c++ et je voulais ajouter une image dans mon programme,mais je ne connais pas les bibliothèques de fonctions et Profondeur image [ par citt ] Bonjour,Je cherche a réaliser une impression de profondeur sur mon image, comme ceci : Mais je n'arrive pas a trouver, pour le moment je n'arrive image dans datagridviewcellbutton [ par Cyril6033 ] Bonjour, est-ce que quelqu'un sait comment faire pour mettre une image sur un bouton d'un DataGridView.Mon bouton est créé avec DataGridViewColumnButt image datagridview [ par Cyril6033 ] Bonjour, est-ce que quelqu'un sait comment faire pour mettre une image sur un bouton d'un DataGridView.Mon bouton est créé avec DataGridViewColumnButt Ajouter papiers Office [ par lululucie ] Bonjour,J'aurai voulu avec VSTO ou pas ajouter d'autres types de papiers dans Office.Merci de vos réponses comment je ecri text sur in image [ par sidi100 ] je un image et je text box sur form .je veux quand je ecris text dans text box . je trouverai la text coller sur l`image et peux enrigster l nivou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.