Insérer des données dans une datagridview

zoplaka Messages postés 11 Date d'inscription jeudi 25 décembre 2008 Statut Membre Dernière intervention 11 décembre 2009 - 4 févr. 2009 à 15:56
zoplaka Messages postés 11 Date d'inscription jeudi 25 décembre 2008 Statut Membre Dernière intervention 11 décembre 2009 - 21 févr. 2009 à 15:45
Salut  à tous je suis debutant en c# je voudrais solliciter l'aide des uns et des autres dans le soucie de palier mes difficultés à afficher des éléments de ma base de données  sous sql server dans une datagridview.
En effet je peux inserer dans ma base des données en utilisant executenonquery et lire en utilisant executereader
et ça va jusque là ...Mon soucie est que j'ai plusieurs tables et je veux afficher dans un même datagridview quelques éléments de chaque tables. A vrai dire je ne connais pas cet algorithme...
mais je sais inserer dans la base,lire et afficher une table (pas quelques élément des différentes tables)dans un datagridview et c'est ça mon probleme...
merci déjà à tout ce qui essaierons de m'aider.

2 réponses

cs_vinok Messages postés 36 Date d'inscription jeudi 12 octobre 2006 Statut Membre Dernière intervention 29 mars 2013
4 févr. 2009 à 19:22
Salut zoplaka,

Je sais pas si ça peut t'aider mais je bosse ces temps ci sur une appli utilisant une base sqlserver, donc pour les accès aux données jv essayé de t'expliquer ce que j'ai compris
Alors déjà t'as 2 façons assez simples d'utiliser ta base de données avec ADO.NET:
le mode connecté et le mode déconnecté.

 Quand tu veux remplir un datagridview, à ma connaissance, c'est le mode déconnecté que tu utilises.
En effet, pour pouvoir le remplir il te faut renseigner sa propriété Datasource, en utilisant un objet appelé Dataset qui est en fait une zone mémoire qui récupère les données de ta base.

Ce qu'il faut donc faire pour remplir ton datagridview c'est:
1) établir une connection
      Sqlconnection c= [...] va voir la doc MSDN sur la classe SqlConnection
2) faire ta requete
      string requete ="SELECT champs FROM table1,table2,tableN WHERE [jointures] [autres clauses]";
3)déclarer un objet DataAdapter de la classe SqlDataAdapter
      dataAdapter = new SqlDataAdapter(requete, connection);
4)déclarer un objet DataSet
       dts = new DataSet("ListeDonnéesRecupérées");
5) Remplir le DataSet via le DataAdapter
       dataAdapter.Fill(dts, "ListeDonnéesRecupérées");
6) établir la liaison entre la source de données "ListeDonnéesRecupérées" et le DataGridView
       BindingSource bdsrc=new BindingSource(); // objet nécessaire pour établir la source
       bdsrc.DataSource = dts.Tables["ListeDonnéesRecupérées"];
       tonDatagridview.DataSource = bdsrc;

Bon bien sûr fo pas oublier de fermer la connection (c.CLose())

Voila, j'espère que je ne me suis pas trompé!
Bon je ne suis pas encore un pro (loin de là..) c'est pour cela que je t'encourage vivement à chercher à comprendre comment tout ça fonctionne
et puis de voir la doc sur ADO.NET pour progresser.

http://msdn.microsoft.com/fr-fr/library/ms254937.aspx
http://dotnet.developpez.com/cours/?page =csharp#sqlservcs
http://dotnet.developpez.com/faq/asp/csharp/?page=ado_requete
http://www.csharpfr.com/tutoriaux/QUELQUES-ASTUCES-ADO-NET-MODE-DECONNECTE_621.aspx
0