Insérer des données dans une datagridview

Messages postés
11
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
11 décembre 2009
- - Dernière réponse : 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.
Afficher la suite 

2 réponses

Messages postés
36
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
29 mars 2013
0
Merci
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
Commenter la réponse de cs_vinok
Messages postés
11
Date d'inscription
jeudi 25 décembre 2008
Statut
Membre
Dernière intervention
11 décembre 2009
0
Merci
bonjour vinok excuse moi si j'ai mis du temps à te donner  une reponse pour tout ce que tu m a donné comme pratique et conseigne seulement que me suis mis à apprendre certaines choses sur ado.net mais malheureusement je suis limité dans cette pratique car il m'a été imposé d'utiliser le developpement en 3 couches qui sont la couche metier, la couche accès aux données, et l'interface graphique.chose que je ne maitrise pas encore. Merci de m'avoir aidé...
Commenter la réponse de zoplaka