Base de données access

Résolu
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 7 janv. 2008 à 20:00
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015 - 17 janv. 2008 à 14:28
Bonjour a tous !

Je suis en train de concevoir une petite application en c# qui se charge de gérer de la musique ( playliste, etc...) . En fait, j'utilise une base de donnée Access sous Microsoft Visual Studio !!!
Cet applicatif permet notamment de saisir des données propres à divers albums ( titres , compositeurs , catalogue, artistes, etc ...) et de les rentrer dans la base des données .

Jusque là, tout marchait bien.

Mais voila, en essayant d'insérer les données dans ma base access, je reçoit un message d erreur disant que ma colonne  n'appartient pas à la table de la base de donnée.

J'ai donc vérifier l'orthographe , si il y avait compatibilité de type, mais l'erreur réside encore.

Quelqu'un saurait il m'expliquer pourquoi g ce msg derreur et ce ke je pourrai faire pour y remédier !!!!

Merci d'avans ...

5 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
8 janv. 2008 à 08:04
Hello,

Donne nous le code où tu exécute ta requête, pour qu'on puisse voir où se situe l'erruer.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
8 janv. 2008 à 14:06
private






void
ajout_Click(

object
sender, System.

EventArgs
e){


//on vérifie d'abords que tout les champs sont remplis






if
(

this
.txtAlbum.Text ==

null
||

this
.txtAuteur.Text ==

null
||

this
.txtComposit.Text ==

null
||

this
.txtKey.Text ==

null
||

this
.txtLicence.Text ==

null
||

this
.txtPiste.Text ==

null
||

this
.txtPoids.Text ==

null
||

this
.txtTitre.Text ==

null
||

this
.txtUrl.Text ==

null
){


MessageBox
.Show(

"Veuillez remplir tout les champs"
);}


else

{







//déclaration du data adapter






OleDbDataAdapter
Dta =

new



OleDbDataAdapter
(

this
.SqlGrid,

this
.Conn);


//création d'une nouvelle ligne






this
.DtrGridA =

this
.DtsClass.Tables[

"maximusique_catalogue_titre"
].NewRow();





//remplissage des champs






this
.DtrGridA[

"type_fichier"
] =

this
.DtsGrid.Tables[

"maximusique_catalogue_titre"
].Rows.Count + 1;


this
.DtrGridA[

"code_produit"
] =

this
.CsV.Fichier;


this
.DtrGridA[

"Nombre_Licence"
] =

this
.CsV.Titre;


this
.DtrGridA[

"titre"
] =

this
.CsV.Album;


this
.DtrGridA[

"auteur"
] =

this
.CsV.Auteur;


this
.DtrGridA[

"compositeur"
] =

this
.CsV.Compositeur;


this
.DtrGridA[

"Nombre_Licence"
] =

this
.CsV.Licence;


this
.DtrGridA[

"num_titre"
] =

this
.CsV.Piste;


this
.DtrGridA[

"poids"
] =

this
.CsV.Poids;


this
.DtrGridA[

"source_wma"
] =

this
.CsV.SourceCry;


this
.DtrGridA[

"temps"
] =

this
.CsV.Temps;


this
.DtrGridA[

"prix"
] =

this
.CsV.Prix;


this
.DtrGridA[

"Fichier_Key"
] =

this
.CsV.Key;


this
.DtrGridA[

"Nombre_Licence"
] =

this
.CsV.Profil;


this
.DtrGridA[

"url_wma"
] =

this
.CsV.Url;


//ajout de la ligne à la table






this
.DtsGrid.Tables[

"maximusique_catalogue_titre"
].Rows.Add(DtrGridA);


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






this
.CmdGrid =

new



OleDbCommandBuilder
(Dta);Dta.UpdateCommand = CmdGrid.GetUpdateCommand();

Dta.Update(DtsGrid,


"maximusique_catalogue_titre"
);


//on met la sélection à vide






this
.txtAlbum.Text =

null
;


this
.txtAuteur.Text =

null
;


this
.txtComposit.Text =

null
;


this
.txtKey.Text =

null
;


this
.txtLicence.Text =

null
;


this
.txtPiste.Text =

null
;


this
.txtPoids.Text =

null
;


this
.txtPrix.Text =

null
;


this
.txtProfil.Text =

null
;


this
.txtSourCry.Text =

null
;


this
.txtTemps.Text =

null
;


this
.txtUrl.Text =

null
;


this
.txtTitre.Text =

null
;

//l'erreur se situe lors du remplissage des champs à partir de la ligne  this.DtrGridA[
"code_produit"] = this.CsV.Fichier;
je recois un message d'errur me disant que le champs code_produit n'appartient pas à la table, alors qu'il y est , que la synthaxe est identique ainsi que le type !!!!

Voila je pense que j'ai tou mis et merci de m'avoir repondu !!!
3
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
17 janv. 2008 à 14:28
A force de chercher, j'ai trouvé l'erreur!!!

En fait, j'utilisait deux dataset ( DtsClass et DtsGrid ) lors de l'insertion ce qui causait un petit bug !!! le code modifié ( celui la tourne bien ) est :  

private void ajout_Click( object sender, System. EventArgs e)

{

//on vérifie d'abords que tout les champs sont remplis
if ( this .txtAlbum.Text null || this .txtAuteur.Text null || this .txtComposit.Text == null || this .txtKey.Text == null || this .txtLicence.Text == null || this .txtPiste.Text == null || this .txtPoids.Text == null || this .txtTitre.Text == null || this .txtUrl.Text == null )
{

MessageBox .Show( "Veuillez remplir tout les champs" );
}

else
{

//déclaration du data adapter

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

//création d'une nouvelle ligne

//la modification à apportée se situe à cette ligne la
this
.DtrGridA = this .DtsGrid.Tables[ "maximusique_catalogue_titre" ].NewRow();

//remplissage des champs

this .DtrGridA[ "type_fichier" ] = this .DtsGrid.Tables[ "maximusique_catalogue_titre" ].Rows.Count + 1;

this .DtrGridA[ "code_produit" ] = this .CsV.Fichier;

this .DtrGridA[ "Nombre_Licence" ] = this .CsV.Titre;

this .DtrGridA[ "titre" ] = this .CsV.Album;

this .DtrGridA[ "auteur" ] = this .CsV.Auteur;

this .DtrGridA[ "compositeur" ] = this .CsV.Compositeur;

this .DtrGridA[ "Nombre_Licence" ] = this .CsV.Licence;

this .DtrGridA[ "num_titre" ] = this .CsV.Piste;

this .DtrGridA[ "poids" ] = this .CsV.Poids;

this .DtrGridA[ "source_wma" ] = this .CsV.SourceCry;

this .DtrGridA[ "temps" ] = this .CsV.Temps;

this .DtrGridA[ "prix" ] = this .CsV.Prix;

this .DtrGridA[ "Fichier_Key" ] = this .CsV.Key;

this .DtrGridA[ "Nombre_Licence" ] = this .CsV.Profil;

this .DtrGridA[ "url_wma" ] = this .CsV.Url;

//ajout de la ligne à la table

this .DtsGrid.Tables[ "maximusique_catalogue_titre" ].Rows.Add(DtrGridA);

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

this .CmdGrid = newOleDbCommandBuilder (Dta);
Dta.UpdateCommand = CmdGrid.GetUpdateCommand();

Dta.Update(DtsGrid,

"maximusique_catalogue_titre" );

//on met la sélection à vide

this .txtAlbum.Text = null ;

this .txtAuteur.Text = null ;

this .txtComposit.Text = null ;

this .txtKey.Text = null ;

this .txtLicence.Text = null ;

this .txtPiste.Text = null ;

this .txtPoids.Text = null ;

this .txtPrix.Text = null ;

this .txtProfil.Text = null ;

this .txtSourCry.Text = null ;

this .txtTemps.Text = null ;

this .txtUrl.Text = null ;

this .txtTitre.Text = null ;

Voila, maintenant le code est correcte !!!
3
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
10 janv. 2008 à 20:52
je galère grave !!! j'ai déja tou essayé, mais g toujour le meme message d'erreur ki apparait !!!!
HHHHEEEEEEEEEEEEEEEELllllppppppppppppp pleaaaaaaaassssssse !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
djbabou Messages postés 155 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 23 novembre 2015
16 janv. 2008 à 21:56
Salut !!!


C'est peut être une erreur d'index !!! Apparament, il existe deux index, l'un étant sensible a la casse et l'autre étant sensible dans la casse !!!


Il peut donc s'agir du fait que l'un des deux index dans mon application bloque ou n'accepte plus de valeur car j'ai peut être dépasser la valeur de l'index!!!


La question serait donc de savoir comment vérifier si le probleme ne vient pas de la  ????
0
Rejoignez-nous