DataSet > comment ça marche? [C#] - C#/.NET managed - Programmation
Marsh Posté le 11-06-2006 à 15:55:53
pour t'expliquer plus en detail ce que c'est un dataset, il s'agit d'un composant très générique permettant de représenter les données sous forme de table.
Imagine toi une base de données avec des tables, un dataset permet d'avoir l'image de la base de données dans un seul dataset.
Il comprend des tables, des lignes et des colonnes.
Maintenant, tu peux manipuler les données de ces tables très facilement.
Donc la création d'un tel object
Dataset data = new Dataset();
data.Tables.add("Contacts" );
data.Tables["Contacts"].Columns.Add("Contact" );
data.Tables["Contacts"].Rows.Add(new Object[] { new Contact(...) });
data.Tables["Contacts"].Rows.Add(new Object[] { new Contact(...) });
data.Tables["Contacts"].Rows.Add(new Object[] { new Contact(...) });
...
et voila tu obtiendra une table "Contacts" avec une colonne "Contact" contenant des object "Contact" initialisé comme tu veux...
Voila j'espère que ça t'aura aidé... Bon courage
Marsh Posté le 11-06-2006 à 17:40:05
Merci beaucoup!
C'est exactement ce dont j'ai besoin! Et maintenant je comprend comment on utilise les tables/colonnes/ligne! J'avais un peu du mal à voir.
Merci!
Marsh Posté le 11-06-2006 à 18:06:18
de rien, si tu as encore une autre question sur les dataset n'hésite pas...
pour ajouter une ligne tu peux également utiliser:
DataRow r = data.Tables["Contacts"].NewRow();
r["Contact"] = new Contact(...);
data.Tables["Contacts"].Rows.Add(r);
Marsh Posté le 11-06-2006 à 23:09:41
En faite apres un essaie, tu pourrais me donner un exemple pour LIRE un element precis?
par exemple un dataset avec une tables "contact", qq colonnes : "nom","prenom",...
et x ligne.
le mieux que j'ai reussi c'est d'obtenir le nom des collones :s
Alors j'suis pas sur que j'puisse le faire en un seul temps.
J'ai vaguement essayer de trouver la fonction qui allé bien pour me retourner une ligne sous la forme d'un objet que je cast en Ccontact mais j'ai pas réussi
Un exemple? ^_^
Merci.
(Je me suis débrouillé autrement pour mon appli mais ça m'interesse )
Marsh Posté le 12-06-2006 à 09:11:12
for (int i=0 ; i < data.Tables["Contacts"].Rows.Count ; i++)
{
string nom = data.Tables["Contacts"].Rows[i]["NOM"].ToString();
string prenom = data.Tables["Contacts"].Rows[i]["PRENOM"].ToString();
MessageBox.Show (nom + " " + prenom);
}
Marsh Posté le 12-06-2006 à 17:59:11
moi23372 a écrit : for (int i=0 ; i < data.Tables["Contacts"].Rows.Count ; i++) |
ok c'est niquel
je te remercie encore ^_^
Marsh Posté le 28-09-2008 à 09:55:23
bjr
svp que voulez vous dire par les pointillés ????
Dans:
data.Tables["Contacts"].Rows.Add(new Object[] { new Contact(...) }); // ici
et aussi
Dans:
DataRow r = data.Tables["Contacts"].NewRow();
r["Contact"] = new Contact(...); // ici
Merci de ma repondre
Marsh Posté le 28-09-2008 à 10:11:34
Ce sont les éventuels paramètres du constructeur
Marsh Posté le 28-09-2008 à 10:53:50
slt harkonnen
j'avoue que je comprend pas trop ""Ce sont les éventuels paramètres du constructeur""
explique moi avec un exemple si cest possible
merci
Marsh Posté le 28-09-2008 à 11:24:23
ce sont les bases de la programmation POO ça.
Sais tu au moins ce qu'est un constructeur avec ou sans paramètre?
Marsh Posté le 28-09-2008 à 18:45:45
darine8277 a écrit : slt harkonnen |
Comme le dit moi23372, ce sont les bases de la POO... Le constructeur d'une classe est la méthode appelée lors de l'instanciation de la classe. Cette méthode, comme toutes les autres, peut prendre des paramètres.
Après, je te renvoie vers un livre ou tuto de POO
Marsh Posté le 29-09-2008 à 00:21:16
ok harkonnen
J'ai repris le code pour inserer un datarow dans un dataset,la compilation ne m'affiche pas d'erreur mais a l'execution l'insertion ne s'effectue pas !!! c a d que le datagridview ne se remplit pas
si dessous le code ecrit:
dataset data=new dataset();//creation du dataset
data.tables.add("personnel" );//creer la table personnel
data.tables["personnel"].columns.add("matr" );//creer la colonne
data.tables["personnel"].columns.add("nom" );//creer la colonne
data.tables["personnel"].rows.add(new object[] {1;"aaa"}//creer la ligne
ç fait 02 jours que je suis dessus mais sans succes please aider moi !!!
Marsh Posté le 29-09-2008 à 16:12:32
tu as assigné ton dataset à ton datagridView?
via sa propriété "DataSource".
this.monDataGridView.DataSource = data;
Marsh Posté le 13-10-2008 à 10:18:44
J'ai repris ce code pas d'erreur mais l'insertion ne s'effectue pas
DataSet data=new DataSet();//creation du dataset
data.Tables.Add("FONCTIONS" );//creer la table fonction
data.Tables["FONCTIONS"].Columns.Add("CODEF" );//creer la colonne
data.Tables["FONCTIONS"].Columns.Add("LIBFONCT" );//creer la colonne
this.fONCTIONSDataGridView.DataSource = data;//attribuer le dataset a un datagridview
data.Tables["FONCTIONS"].Rows.Add(new object[] { "'cODEFTextBox.Text'", "'lIBFONCTTextBox.Text'" });//creer la ligne
Marsh Posté le 10-06-2006 à 19:31:08
bon, voila, je debutte en C# et d'une maniere generale en .NET, et je cherche a utiliser les dataset.
Le truc, ce que j'suis completement paumé pour l'utilisation.
Je fait une appli qui doit montré (pour un projet) les liaisons possibles entre le XML et le C#, donc je montre différentes méthodes.
Globalement j'arrive à lire un fichier XML, a mettre ça dans un dataset et l'afficher dans un datagrid, meme si j'ai pas tout compris on foncitonnement.
Maintenant je voudrais écrire dans un fichier, je voudrais donc créer un tableau d'objet (pour mon exemple j'ai une classe Contact) à inserer, et pour l'une des méthodes je veux passer par un dataset.
Mais je n'ai aucune idée de comment l'initialiser, rien...
Alors vu que je n'ai rien trouvé d'assez clair sur le net, quelqu'un pourrait me donnerun exemple d'utilisation??
Ou nu lien vers un bon tuto concernant dataset/datagrid
Je précise que je ne passe pas par une base de donnée (pour le moment en tout cas), donc je ne suis pas sur que ce soit possible?
Merci
Message édité par gargantua307 le 11-06-2006 à 09:51:03