zoplaka
Messages postés11Date d'inscriptionjeudi 25 décembre 2008StatutMembreDernière intervention11 décembre 2009
-
4 févr. 2009 à 15:56
zoplaka
Messages postés11Date d'inscriptionjeudi 25 décembre 2008StatutMembreDernière intervention11 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.
cs_vinok
Messages postés36Date d'inscriptionjeudi 12 octobre 2006StatutMembreDernière intervention29 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.
zoplaka
Messages postés11Date d'inscriptionjeudi 25 décembre 2008StatutMembreDernière intervention11 décembre 2009 21 févr. 2009 à 15:45
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é...