Dataset / bindingsource / TableAdapter Update d une valeur [Résolu]

leroitony 22 Messages postés jeudi 28 août 2003Date d'inscription 5 avril 2007 Dernière intervention - 3 déc. 2006 à 12:50 - Dernière réponse : cs_Zitrone 3 Messages postés samedi 17 février 2007Date d'inscription 9 octobre 2007 Dernière intervention
- 3 avril 2007 à 11:54
Bonjour à tous,

Voila ma premiere demand d'aide ;)

je vous explique mon probleme j'ai datagridview dans lequelle je charge une table d'une source de donne sur sqlserver, je voudrais repecuter les update/ insert / delet du dgview directement dans la BD.
Quand j'ajoute un ligne dans le datagridview  et que je sauve sa ajoute bien dans la bd.

Mais le Update/delet me gener une erreur.

J explique ce que j ai fais

Quand j'ai rajouter la table (ici film) dans mon projet VS2005 a ajouter automatiquement  :

_dataset
_bindingsource
_TableAdapter

j'ai 2 boutton sur mon projet load et save 

 

private
void btnLoad_Click(
object sender,
EventArgs e){

this.filmTableAdapter.Fill(
this.sqlServerMovieDataSet.film);

this.filmBindingSource.DataSource =
this.sqlServerMovieDataSet;

this.filmDataGridView.DataSource =
this.filmBindingSource;
}

donc charge mon dgview sans aucun probleme

et j 'ai aussi

private
void btnSave_Click(
object sender,
EventArgs e){

 if (
MessageBox.Show(
String.Format(
null,
"Êtes-vous sûr de vouloir mettre à jour la base de données ?"),
 String

.Format(
null,
"Mise à jour"),
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) ==
DialogResult.Yes) {

  // Si le DataSet a été modifié

  if (
this.sqlServerMovieDataSet.HasChanges())  {
    try{

  // On met à jour la base de données en utilisant la DataTable et le TableAdapter

  int i =
this.filmTableAdapter.Update(
this.sqlServerMovieDataSet);

  MessageBox.Show(
String.Format(
null,
"{0} lignes ont été mise à jour dans la base de données", i.ToString()),

  String.Format(
"Mise à jour"),
MessageBoxButtons.OK,
MessageBoxIcon.Information);
  }catch(invalidExpcetion ex)

  }

 }

 else {

 return; }

}

donc le insert ne me pause pas de probleme

Mais quand je fais un update ou un delet j 'ai une erreur sur 

  int i = this.filmTableAdapter.Update(this.sqlServerMovieDataSet);

InvalidOperationException

"Update requiert un UpdateCommand valide lors du passage de la collection DataRow avec des lignes modifiées."

Si qlq peut m aider se serais simpa

bien à vous ,
LF

de la panique née la maîtrise
Afficher la suite 

5 réponses

Répondre au sujet
Miltiades 233 Messages postés vendredi 21 mars 2003Date d'inscription 25 octobre 2010 Dernière intervention - 4 déc. 2006 à 11:50
+3
Utile
A voir ce que tu as écris, je suppose que tu as utilisé l'assistant pour créer ton adapteur... ce qui fait que ton adapteur n'a pas implémenté de command d'update, seulement une command de select
c'est donc a toi de l'implémenter

this.filmTableAdapter.UpdateCommand = new SqulCommand (......);

Nul ne devient grand par la guerre...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Miltiades
leroitony 22 Messages postés jeudi 28 août 2003Date d'inscription 5 avril 2007 Dernière intervention - 3 déc. 2006 à 12:52
0
Utile
ps : pour la source j ai regader dans un trutorial

de la panique née la maîtrise
Commenter la réponse de leroitony
leroitony 22 Messages postés jeudi 28 août 2003Date d'inscription 5 avril 2007 Dernière intervention - 4 déc. 2006 à 21:17
0
Utile
Merci pour la reponce

effectivement quand on utilise l'assistant vs ne gener que ql command les autres faut les implementer ;)

merci

de la panique née la maîtrise
Commenter la réponse de leroitony
cs_Zitrone 3 Messages postés samedi 17 février 2007Date d'inscription 9 octobre 2007 Dernière intervention - 3 avril 2007 à 11:48
0
Utile
Salut !
J'espère apporter ma petite expérience à tous ceux qui en auront besoin.
Merci et bon boulot !
Commenter la réponse de cs_Zitrone
cs_Zitrone 3 Messages postés samedi 17 février 2007Date d'inscription 9 octobre 2007 Dernière intervention - 3 avril 2007 à 11:54
0
Utile
Salut !

J'ai un petit problème.
J'utilise d'habitude le vb 6 et souhaite migrer vers vb 2005.
Je voudrais juste savoir comment ajouter, modifier , supprimer et rechercher des enregistrements dans une bdd sql server 2005 sans utiliser l'assistant.

Je vous remercie d'avance pour votre aide.
Commenter la réponse de cs_Zitrone

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.