Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

488 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   929 Visites
   Note INTERNET : 10.3
    (11 Votants)
   0 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2004 - Note de Synthèse Stage
Programmer en C# avec ADO.NET
[15 mn de lecture - paru le 11/3/2003 - Public : Débutant]

Auteur

pottie_jJulien POTTIER
Elève-Ingénieur Supinfo Paris
Promotion SUPINFO 2004

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

2. L'architecture ADO.NET

ADO.NET a été conçu principalement pour être utilisé en mode déconnecté et distribuable à travers le réseau grâce à la technologie XML, ADO serait la meilleur approche si notre application nécessitait une connexion continue vers une source de données. L'objet DataReader d'ADO.NET est ce qui se rapproche le plus de l'objet RecordSet  d'ADO, car il dépend d'une connexion continue pour lire les données d'une source de données.

2.1. Connecté (DataReader)

Il arrive que dans une application on n'ait besoin que de lire des données. Surtout si l'on traite de grandes quantités de données alors il est plus judicieux d'utiliser l'objet DataReader, car le traitement d'un tel flot d'informations avec un DataSet nécessiterait trop de ressource mémoire. Le point fort du DataReader est qu'il prend très peu de place en mémoire car il ne fait que lire les données. Il ne lit qu'un enregistrement à la fois. Son inconvénient c'est qu'il utilise un mode connecté c'est a dire qu'aucune autre action ne peut être effectué sur la connexion tant qu'elle n'a pas été fermé, il ne faut donc pas oublier de fermer la connexion aussitôt la lecture des données fini.

string strCon = "Data Source = localhost; Integrated Security=SSPI;"; strCon += "Initial Catalog = Mydb";
string strQuery = "select * from user" ;
SqlConnection oCon = new SqlConnection(strCon);
try
{
SqlCommand oCommand = new SqlCommand(strQuery,strCon);
oCon.Open();
SqlDataReader oReader = oCommand.ExecuteReader();

while (oReader.NextResult())
{
//Affiche les données des colonnes Nom , Prénom de la table user
Console.WriteLine("\t{0}\t{1}\n",oReader.GetString(1),oReader.GetString(2));
}
oReader.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
oCon.Close();
}

2.2 Déconnecté (DataAdapter/DataSet)

Avec l'évolution des réseaux, il fallait une méthode adapté qui puisse gérer toujours plus de connexion sans affecter les performances de la base de données. C'est là que la gestion des connexions entre en jeu, pour une gestion optimum les applications devraient se connecter à la base lire les données nécessaires se déconnecter, traiter les données puis se reconnecter à la base pour enregistrer les modifications tous ça dans des temps les plus court qu'ils soient. ADO ne permettait pas une telle flexibilité, c'est donc ADO.NET qui va pallier ce manque. On a vu précédemment comment avec l'objet DataReader on ne pouvait traiter qu'une ligne à la fois, mais dans la pratique il arrive souvent qu'on ai à traiter plusieurs lignes à la fois (pour faire des tries par exemple) la tache devient plus complexe et l'utilisation de l'objet DataReader devient moins pertinente. C'est pour cela que ADO.NET introduit de nouveaux objets qui fonctionnent principalement en mode deconnecté.

L'objet DataAdapter

Il est partie intégrante des managed providers d'ADO.NET. Il est la liaison entre une source de données et un DataSet. En bref il permet de faire passer les données d'une source de données vers un DataSet puis du DataSet vers la source de données. Pour filtrer les données que le DataAdapter doit récupérer ou modifier on utilise une requête SQL ou bien une procédure stockée. ADO.NET dispose de 2 types de DataAdapter :

  • OleDbDataAdapter : il peut être employé avec n'importe qu'elle source de données.
  • SqlDataAdapter : il est optimisé pour SQLServer, car il n'a pas à passer par la couche OLEBD.

L'objet DataSet

Le DataSet est la pièce maîtresse de l'architecture déconnecté d'ADO.NET. L'objet DataSet joue le rôle de mémoire tampon, cette mémoire va contenir les données qui lui ont été fournis par l'objet DataAdapter. L'objet DataSet est conçu sur le modèle relationnel des bases de données, c'est à dire qu'il est constitué de tables, colonnes, lignes ainsi que de contraintes et relations. L'autre point fort du DataSet est qu'il utilise un schéma XML pour représenter ses données. Un DataSet peut être peuplé de 3 façons différentes :

  • avec la méthode Fill d'un DataAdapter
  • à partir d'un fichier XML en utilisant la méthode ReadXml
  • manuellement

Une fois peuplé un DataSet est déconnecté de la source.

string strCon = "Data Source = localhost; Integrated Security=SSPI;"; strCon += "Initial Catalog = Mydb";
string strQuery = "select * from user" ;
SqlConnection oCon = new SqlConnection(strCon);
try
{
SqlCommand oCommand = new SqlCommand(strQuery,strCon);
//SqlDataAdapter gère lui même la connexion
SqlDataAdapter oSqlDataAdapter = new SqlDataAdapter(oCommand);
DataSet ds = new DataSet();
oSqlDataAdapter.Fill(ds,"user");

for(int i=0;i<ds.Tables["user"].Rows.Count;i++)
{
Console.WriteLine("\t{0}\t{1}\n",ds.Tables["user"].Rows[i]["nom"].ToString(), ds.Tables["user"].Rows[i]["prenom"].ToString());
}

}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
oCon.Close();
}


Articles de la même catégorie

 Pages : Top


681 Visites
0 Commentaires
Navigation basic dans l'ERP SAP
[10 mn de lecture - paru le 11/3/2003 - Public : Débutant]

En savoir plus


629 Visites
0 Commentaires
Implémentation d'une GMAO
[25 mn de lecture - paru le 11/3/2003 - Public : Débutant]

En savoir plus


3875 Visites
0 Commentaires
Démarrer avec Filemaker Pro
[20 mn de lecture - paru le 11/3/2003 - Public : Débutant]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :