Enregistrement des données d'un datagrid [Résolu]

Signaler
Messages postés
14
Date d'inscription
jeudi 3 juillet 2003
Statut
Membre
Dernière intervention
14 juin 2007
-
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
-
Bonjour, 

j'ai crée un datagrid  :

//Connection à la baseconnection.ConnectionString =

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
PageAccueil.chaine;

//Ouverture de la baseconnection.Open();

adapter =

new
OleDbDataAdapter(
"SELECT operation.libelle_operation, IIf([rec_dep_operation]='Dépense',[montant_operation],'') AS Dépense, IIf([rec_dep_operation]='Recette',[montant_operation],'') AS Recette, operation.pointage_banque_operation, libelle_rubrique, datecreation_operation, libelle_modepaiement FROM mode_paiement, operation, rubrique WHERE mode_paiement.num_modepaiement = operation.num_modepaiement AND rubrique.num_rubrique=operation.num_rubrique AND rubrique.datecloture_rubrique Is Null AND pointage_banque_operation = false ORDER BY libelle_operation ", connection);adapter.Fill(table);

_dataGrid.DataSource = table;

Jusque là, tout va bien.
Mais je voudrai que l'utilisateur puisse modifier des données dans le datagrid.

Comment faire pour faire l'opération inverse?pour enregistrer le datagrid dans ma base??

merci!!!!!

4 réponses

Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008

Je te propose ceci (moi je fait ca avec un datagridview avec une base de données MyQSL mais je pense que c'est la meme chose)

Si tu n’utilise pas une base de donnée Mysql,
modifie le code en conséquent, normalement c ‘est juste MySqlConnection a remplacé par SqlConnection et MySqlCommand par SqlCommand… en étant très positif, mais je préfère te proposer du code dont je suis sur de la fonctionnalité…

//prendra les requete
String Requete;

//nombre de ligne affecter par la requete
int NbreLigneAffecter;

//connection a la base
private static MySqlConnection MaConnection = new MySqlConnection();

String ConnectionBDD= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PageAccueil.chaine;

MaConnection.ConnectionString = ConnectionBDD;

connection.ConnectionString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PageAccueil.chaine;
MaConnection.ConnectionString = connection_bdd;

for(a=0,a<MonDataGrid.Rows.Count;a++){

        Requete="INSERT INTO ma_table(id,champs1,champs2) VALUES ('"+     MonDataGrid.Rows[a].Cells[1].Value +"','"+ MonDataGrid.Rows[a].Cells[2].Value +"','"+ MonDataGrid.Rows[a].Cells[3].Value +"')";

        MySqlCommand MaCommande = new MySqlCommand(Requete, MaConnection.);

        NbreLigneAffecter= MaCommande.ExecuteNonQuery();
}

MaConnection.Close();

en espérant que ça puisse t’aider…
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008

désolé pou les "?"... cest que je tappe mes messages sous word pour l'orthographe...pourtant je le passe après dans notpad pour enlever le formatage du texte mais rien y fait....
Messages postés
14
Date d'inscription
jeudi 3 juillet 2003
Statut
Membre
Dernière intervention
14 juin 2007

C'est exactement ce que je cherchais!!!!!
MERCI BEAUCOUP !!!!!!!
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008

de rien

(c cool c'est ma premiere reponse accepter )