begin process at 2008 05 16 21:54:28
1 173 770 membres
577 nouveaux aujourd'hui
13 973 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONVERTIR UN OBJET EN DATATABLE ET VICE-VERSA


Information sur la source

Catégorie :Web Services Source .NET ( DotNet ) Classé sous : webservice, convertion, generics, dataset, datatable Niveau : Initié Date de création : 22/09/2006 Date de mise à jour : 22/09/2006 16:23:06 Vu / téléchargé: 8 085 / 602

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Lorsque l'on travaille avec les WebServices, on est "presque" obligé de passer par les DataSet pour fournir et récupérer des données.
Dans le but de simplifier mes passages d'objets, j'ai travaillé sur une classe qui permet de convertir automatiquement toute classe contenant des types simples en DataRow, DataTable et DataSet... et inversement.

En prime, c'est très simple d'utilisation.
Vous voulez que votre classe personne puisse être transformée en DataSet ? Rien de plus simple : héritez de ma classe... et c'est fini :)

Source

  • // Exemple d'utilisation :
  • public class Personne : Maf.Data.DataTableConvertibleClass<Personne> {
  • public Personne() {
  • base.currentObject = this;
  • }
  • private string nom;
  • private string prenom;
  • public string Nom {
  • get {return this.nom;}
  • set {this.nom = value;}
  • }
  • public string Prenom {
  • get {return this.prenom;}
  • set {this.prenom = value;}
  • }
  • }
  • // Pour convertir une instance de personne :
  • // En DataSet :
  • DataSet ds = personne.ToDataSet();
  • // En DataTable
  • DataTable table = personne.ToDataTable();
  • // En DataRow
  • DataRow row = personne.ToDataRow();
  • // Et l'inverse
  • // Depuis un DataRow
  • Personne personne = Personne.FromDataRow(row);
  • // Depuis une DataTable
  • List<Personne> personnes = Personne.FromDataTable(table);
// Exemple d'utilisation :

public class Personne : Maf.Data.DataTableConvertibleClass<Personne> {
	public Personne() {
		base.currentObject = this;
	}

	private string nom;
	private string prenom;

	public string Nom {
		get {return this.nom;}
		set {this.nom = value;}
	}

	public string Prenom {
		get {return this.prenom;}
		set {this.prenom = value;}
	}
}

// Pour convertir une instance de personne :
// En DataSet :
DataSet ds = personne.ToDataSet();

// En DataTable 
DataTable table = personne.ToDataTable();

// En DataRow 
DataRow row = personne.ToDataRow();

// Et l'inverse
// Depuis un DataRow
Personne personne = Personne.FromDataRow(row);

// Depuis une DataTable
List<Personne> personnes = Personne.FromDataTable(table);
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

22 septembre 2006 16:23:06 :
une petite erreur dans l'exemple
  • signaler à un administrateur
    Commentaire de romagny13 le 03/02/2007 16:46:37

    C"est pas bete cette idée que de pouvoir convertir une collection d'objets en DataTable et inversement,
    car si en .NET 2.0 on peut passer facilement d'un DataReader à une DataTable  et et inverse (oDataTable.Load(oDataReader) et oDbDataReader = oDataTable.CreateDataReader();)
    cela comble un manque cela me donne des idées

    en tout cas plutot que de mettre des felicitations sur chacune de tes sources, je n'en mettrai qu'ici pour dire bravo et merci car elles sont tres interessantes et je vais surement pas en regarder

  • signaler à un administrateur
    Commentaire de StefC le 02/01/2008 10:36:45

    A vérifier mais il me semble que cela ne fonctionne pas avec les types nullable.

    Stéphan.

  • signaler à un administrateur
    Commentaire de mygalio le 07/02/2008 16:32:01

    oui je confirme il y a un petit problème avec les type nullable.

Ajouter un commentaire

Discussions en rapport avec ce code source

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS