Vous êtes sur la page 1sur 15

Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)

http://www.pdfmail.com
Cours ADO.net

Ado .Net

Modèle objets d’accès aux données

Supports de cours

Afpa St Brieuc – Langueux 04/02/2007 Page : 1


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

Sommaire

1 – Objet Connection

2 – Objet OleDbCommand et SQLCommand

3 – Objet DatReader

4 – Objet DataSet

5 – Objet DatAdapter

6 – Objet DataTable

7 – Traitement des erreurs et des exceptions

Afpa St Brieuc – Langueux 04/02/2007 Page : 2


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

1 – Objet Connection

g Création et utilisation d’un objet Connection

Le rôle de l’objet Connection d’Ado.Net est de relier l’utilisateur de


données au fournisseur de données. Cet Objet représente une session unique
portant sur la base de données du fournisseur. D’autres objets, tel que les
objets Command, utilisent l’objet Connection pour effectuer des opérations
sur la base de données.

Il existe trois types d’objet Connection :

• SqlConnection pour l’accès aux bases de données SQL Server.


• OdbcConnection pour l’accès aux bases de données de
typeODBC.
• OleDbConnection pour toutes les autres bases de données de
type OLE DB.

Processus d’utilisation de l’objet Connection :

• Instanciation à l’aide du constructeur ou implicitement à l’aide des


objets Command ou DataAdapter
• Mise en forme de la chaîne de connexion avec l’objet
ConnectionString
• Utilisation de la méthode open pour établir la connexion à partir de
l’objet ConnectionString
• Exécution des instructions sur les données, utilisation de l’objet
Command
• La connexion est fermée à l’aide de la méthode close

cl Espaces de noms requis

En C#

Pour une connexion avec une data source ODBC


Using System.DataOdbc ; //Objet OdbcConnection
Pour une connexion OleDb (ex : Microsoft Access)
Using System.DataOleDb //Objet OleDbConnection
Pour une connexion SqlServeur
Using System.SqlClient //Objet SqlConnection

Utiliser l’espace de nom correspondant au type de la base de données


utilisée.

Afpa St Brieuc – Langueux 04/02/2007 Page : 3


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

g Construction d’un objet Connection

Création d’une instance de l’objet connection :

En C#

public OdbcConnection(string connectionString);


ou
public OleDbConnection (string connectionString);
ou
public SqlConnection(string connectionString);

Propriétés

ConnectionString

Cette propriété contient les informations nécessaires d’une connexion à


une source de donnée. Elle consiste en séquence de paramètres
délimités par des points-virgules de cette forme :

Nom_paramètre = ‘valeur du paramètre’ ;

Le tableau suivant énumère les noms valides des valeurs de mot clé dans ConnectionString .

Nom Valeur par défaut Description


Application Name Nom de l'application ou '.Net
SqlClient Data Provider' si aucun
nom d'application n'est fourni.
AttachDBFilename Nom du fichier principal, y compris
le nom du chemin d'accès
- ou - complet, d'une base de données
connectable.
propriétés étendues
Le nom de la base de données
doit être spécifié avec le mot clé
- ou -
'database'.
Initial File Name
Connect Timeout 15 Durée d'attente (e n secondes)
préalable à l'établissement d'une
- ou - connexion au serveur avant que la
tentative ne soit abandonnée et
qu'une erreur ne soit générée.
Connection Timeout
Current Language Nom d'enregistrement du langage
SQL Server.
Data Source Nom ou adresse réseau de
l'instance de SQL Server à
- ou - laquelle se connecter.

Server

Afpa St Brieuc – Langueux 04/02/2007 Page : 4


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

- ou -

Address

- ou -

Addr

- ou -

Network Address
Encrypt 'false' Si true, SQL Server utilise le
cryptage SSL pour tous les
échanges de données se
produisant entre le client et le
serveur si celui-ci dispose d'un
certificat installé. Les valeurs
reconnues sont true, false, yes et
no.
Initial Catalog Nom de la base de données.

- ou -

Database
Integrated Security 'false' Lorsque la valeur est false, l'ID
d'utilisateur et le mot de passe
- ou - sont spécifiés dans la connexion.
Lorsque la valeur est true, les
informations actuelles
Trusted_Connection
d'identification du compte
Windows sont utilisées pour
l'authentification.

Les valeurs reconnues sont true,


false, yes, no et sspi (vivement
recommandée), qui équivaut à
true.
Network Library 'dbmssocn' Bibliothèque réseau permettant
d'établir une connexion à une
- ou - instance de SQL Server. Les
valeurs prises en charge sont les
Net suivantes : dbnmpntw (canaux
nommés), dbmsrpcn
(multiprotocole), db msadsn (Apple
Talk), dbmsgnet (VIA), dbmslpcn
(mémoire partagée) et dbmsspxn
(IPX/SPX), et dbmssocn (TCP/IP).

La DLL réseau correspondante


doit être installée sur le système
auquel vous vous connectez. Si
vous ne spécifiez pas de réseau
et si vous utilise z un serveur local
(par exemple, « . » ou « (local) »),
la mémoire partagée est utilisée.
Packet Size 8192 Taille en octets des paquets
réseau permettant de
communiquer avec une instance

Afpa St Brieuc – Langueux 04/02/2007 Page : 5


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

de SQL Server.
Password Mot de passe de la session du
compte SQL Server (non
- ou - recommandé. Pour garantir le plus
haut niveau de sécurité, Il est
vivement recommandé d'utiliser
Pwd
de préférence le mot clé
Integrated Security ou
Trusted_Connection).
Persist Security Info 'false' Lorsqu'elles ont comme valeur
false ou no (vivement
recommandée), les informations
de sécurité, comme le mot de
passe, ne sont pas retournées
dans le cadre de la connexion si
celle-ci est ouverte ou l'a été à un
moment donné. Le rétablissement
de la chaîne de connexion rétablit
toutes les valeurs des chaînes de
connexion, y compris le mot de
passe. Les valeurs reconnues
sont true, false, yes et no.
User ID Compte de connexion SQL Server
(non recommandé. Pour garantir
le plus haut niveau de sécurité, Il
est vivement recommandé
d'utiliser de préférence le mot clé
Integrated Security ou
Trusted_Connection).
Workstation ID nom de l'ordinateur local Nom du poste de travail en cours
de connexion à SQL Server.

Exemple de connexion à une base de données Sql*Server :

SqlConnection oConn;
string strConn = "Data Source=localhost; Integrated Security= SSPI;
DataBase = VideoScar";
try
{
oConn = new SqlConnection(strConn);
oConn.Open();
txtEtat.Text = oConn.State.ToString();
}
catch (Exception error)
{
txtEtat.Text = oConn.State.ToString() + " " +
error.Message;
}

Afpa St Brieuc – Langueux 04/02/2007 Page : 6


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

2 – Objet OleDbCommand et SqlCommand

Les objets OleDbCommand et SqlCommand permettent d’encapsuler une


commande pour exécuter sur un fournisseurde données.
- OleDbCommand opère sur les fournisseurs managés
OLE DB, tels que Jet (Access) et Oracle, et quasiment
tous les fournisseurs de données possédant des
fournisseurs OLE DB correspondants.
- SqlCommand opère quand à lui sur le fournisseur
managé SQL Server de .NET ; il peut exécuter une
commande sur les versions 7.0 et ultérieurs de SQL
Server.

2.1 OleDbCommand met en œuvre les méthodes suivantes exécutant des


commandes au niveau d'une source de données :

Elément Description
ExecuteReader Exécute des commandes qui retournent des
lignes. Il se peut que ExecuteReader n'ait pas
l'effet souhaité s'il est utilisé pour exécuter des
commandes telles que des instructions SQL SET.
ExecuteNonQuery Exécute des commandes telles que des
instructions SQL INSERT, DELETE, UPDAT E et
SET.
ExecuteScalar Extrait une valeur unique (par exemple, une valeur
d'agrégation) d'une base de données.

Constructeurs

Initialise une no uvelle instance de la classe OleDbCommand.

Liste de surcharge

[Visual Basic] Public Sub New()


[C#] public OleDbCommand();
[C++] public: OleDbCommand();
[JScript] public function OleDbCommand();

Initialise une nouvelle instance de la classe OleDbCommand avec le texte de la requête.

[Visual Basic] Public Sub New(String)


[C#] public OleDbCommand(string);
[C++] public: OleDbCommand( String*);
[JScript] public function OleDbCommand(String);

Initialise une nouvelle instance de la classe OleDbCommand avec le texte de la requête et


OleDbConnection.

[Visual Basic] Public Sub New(String, OleDbConnection)


[C#] public OleDbCommand(string, OleDbConnection);
[C++] public: OleDbCommand(String*, OleDbConnection*);
[JScript] public function OleDbCommand(String, OleDbConnection);

Afpa St Brieuc – Langueux 04/02/2007 Page : 7


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

Initialise une nouvelle instance de la classe OleDbCommand avec le texte de la requête,


OleDbConnection et Transaction.

[Visual Basic] Public Sub New(String, OleDbConnection, OleDbTransaction)


[C#] public OleDbCommand(string, OleDbConnection, OleDbTransaction);
[C++] public: OleDbCommand(String*, OleDbConnection*, OleDbTransaction*);
[JScript] public function OleDbCommand(String, OleDbConnection, OleDbTransaction);

Exemple : requête et connexion

string strReq = "select * from ACTEUR where ACTCOD = '" +


txtCode.Text + "'";

OleDbCommand oCommand = new OleDbCommand (strReq, oConn);

2.2 SqlCommand met en œuvre les méthodes suivantes pour l'exécution de


commandes au niveau d'une base de données SQL Server :

Elément Description
ExecuteReader Exécute la commande dans CommandText sur
SqlConnection assigné et renvoie un objet
SqlDataReader. SqlDataReader est un curseur en
lecture avant uniquement, q ui se déplace sur
l’ensemble des lignes. Afin d'améliorer les
performances, ExecuteReader appelle des
commandes à l'aide de la procédure stockée
système sp_executesql Transact -SQL. Par
conséquent, il se peut que ExecuteReader n'ait
pas l'effet souhaité s'il est utilisé pour exécuter des
commandes telles que des instructions Transact -
SQL SET.
ExecuteNonQuery Exécute des commandes telles que des
instructions Transact -SQL INSERT, DELETE,
UPDATE et SET.

ExecuteScalar Extrait une valeur unique (par exemple, une valeur


d'agrégation) d'une base de données.

ExecuteXmlReader Envoie CommandText à Connection et génère un


objet XmlReader.

Vous pouvez réinitialiser la propriété CommandText et réutiliser l'objet SqlCommand.


Cependant, vous devez fermer SqlDataReader avant d'exécuter une commande
nouvelle ou précédente.

Constructeurs

Initialise une nouvelle instance de la classe SqlCommand.

Liste de surcharge

Afpa St Brieuc – Langueux 04/02/2007 Page : 8


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

Initialise une nouvelle instance de la classe SqlCommand.

Pris en charge par le .NET Compact Framework.

[Visual Basic] Public Sub New()


[C#] public SqlCommand();
[C++] public: SqlCommand();
[JScript] public function SqlCommand();

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête.

Pris en charge par le .NET Compact Framework.

[Visual Basic] Public Sub New(String)


[C#] public SqlCommand(string);
[C++] public: SqlCommand(String*);
[JScript] public function SqlCommand(String);

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête et


SqlConnection.

Pris en charge par le . NET Compact Framework.

[Visual Basic] Public Sub New(String, SqlConnection)


[C#] public SqlCommand(string, SqlConnection);
[C++] public: SqlCommand(String*, SqlConnection*);
[JScript] public function SqlCommand(String, SqlConnection);

Initialise une nouvelle instance de la classe SqlCommand avec le texte de la requête, SqlConnection
et SqlTransaction.

Pris en charge par le .NET Compact Framework.

[Visual Basic] Public Sub New(String, SqlConnection, SqlTransacti on)


[C#] public SqlCommand(string, SqlConnection, SqlTransaction);
[C++] public: SqlCommand(String*, SqlConnection*, SqlTransaction*);
[JScript] public function SqlCommand(String, SqlConnection, SqlTrans action);

Exemple : requête et chaîne de connexion

string strReq = "select * from ACTEUR where ACTCOD = '" +


txtCode.Text + "'";

SqlCommand oCommand = new SqlCommand(strReq, oConn);

Afpa St Brieuc – Langueux 04/02/2007 Page : 9


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

3 – Objet DataReader (OleDbDataReader, OdbcDataReader,


SqldataReader)

L’objet DataReader sert à accéder aux informations contenues dans


l’entrepôt de données. Il résulte de l’exécution de la méthode ExecuteReader sur
un objet OleDbCommand ou SqlCommand.

C’est l’un des deux mécanismes mis à disposition des développeurs par ADO
.NET. L’autre mécanisme utilise un objet DataAdapter pour transférer les
informations vers un DataSet (Chapitre suivant

L’objet DataReader fournit un mécanisme en lecture seule, en avant


seulement, qui permet d’extraire les informations d’un entrepôt de données sous
forme d’un flux, tout en restant connecté à la source de données. Les performances
de ce mécanisme sont élevées. ). L’objet DataReader ne stocke en mémoire qu’une
seule ligne à la fois, permettant ainsi d’augmenter les performances d’une application
en d’en réduire la charge.

Le DataReader est limité, mais hautement optimisé. Il est important de


connaître les caractéristiques du DataReader avant de décider quel mécanisme
utiliser dans une application pour accéder aux données :

- Pas de besoin de réaliser un cache des données


- Le jeu d’enregistrement est trop important pour être
stocké en mémoire
- Accès rapide aux données en lecture seule en avant
seulement.
- Accès aux données en mode connecté.
-
Par défaut, un DataReader charge une ligne entière en mémoire à chaque appel de
la méthode Read. Il est possible d’accéder aux valeurs des colonnes soit par leurs
noms soit par une référence ordinales. Une solution plus performante est proposée
permettant d’accéder aux valeurs dans leurs types de données natifs (GetInt32,
GetDouble, GetString, …).

Exemple : première colonne indicée par 0, de type int.

int i iColonne ;
iColonne = oDataReader.GetInt32(0) ;

Fermeture du DataReader

Vous devez toujours appeler la méthode Close lorsque vous avez fini d'utiliser
l'objet DataReader.

Si Command contient des paramètres de sortie ou des valeurs de retour, ils ne


seront pas disponibles avant la fermeture du DataReader.

Afpa St Brieuc – Langueux 04/02/2007 Page : 10


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

Notez que pendant l'ouverture d'un DataReader, Connection est utilisé en mode
exclusif par ce DataReader. Vous ne pourrez pas exécuter les commandes pour
Connection, y compris la création d'un autre DataReader, jusqu'à la fermeture du
DataReader d'origine.

Constructeurs

Il n’y a pas de constructeur de DataReader. La seule manière de créer un


objet DataReader est d’appeler la méthode ExecuteReader sur l’objet
OleDbCommand ou SqlCommand.

Propriétés publiques

Depth Obtient une valeur indiquant la profondeur


d'imbrication de la ligne en cours.
Pris en charge par le .NET C ompact Framework.
FieldCount Obtient le nombre de colonnes figurant dans la
ligne en cours.
Pris en charge par le .NET Compact Framework.
HasRows
Obtient une valeur indiquant si le SqlDataReader
contient une ou plusieurs lignes.
IsClosed Obtient une valeur indiquant si le lecteur de
données est fermé.
Pris en charge par le .NET Compact Framework.
Item Surchargé. Obtient la valeur d'une colonne dans
son format natif.

En C#, cette propriété est l'indexeur pour la classe


SqlDataReader .
RecordsAffected Obtient le nombre de lignes modifiées, insérées ou
supprimées en exécutant l'instruction Tra nsact-
Pris en charge par le .NET Compact Framework. SQL.

Méthodes publiques

Close Ferme l'objet SqlDataReader .

Pris en charge par le .NET Compact Framework.


CreateObjRef (hérité de MarshalByRefObject )
Crée un objet contenant toutes les informations
appropriées requises pour générer un proxy
permettant de communiquer avec un objet distant.
Equals (hérité de Object) Surchargé. Détermine si deux instances de Object
sont égales.
Pris en charge par le .NET Compact Framework.
GetBoolean Obtient la valeur de la colonne spécifi ée comme
Boolean.
Pris en charge par le .NET Compact Framework.
GetByte Obtient la valeur de la colonne spécifiée sous la
forme d'un octet.
Pris en charge par le .NET Compact Framework.

Afpa St Brieuc – Langueux 04/02/2007 Page : 11


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

GetBytes Lit un flux d'octets à partir de l'offset de colonne


spécifié dans la mémoire tampon sous la for me
Pris en charge par le .NET Compact Framework. d'un tableau commençant à l'offset de mémoire
tampon donné.
GetChar Obtient la valeur de la colon ne spécifiée sous la
forme d'un caractère unique.
Pris en charge par le .NET Compact Framework.
GetChars Lit un flux de caractères à partir de l' offset de
colonne spécifié dans la mémoire tampon sous la
Pris en charge par le .NET Compact Framework. forme d'un tableau commençant à l'offset de
mémoire tampon donné.
GetDataTypeName Obtient le nom du type de données source.

Pris en charge par le .NET Compact Framework.


GetDateTime Obtient la valeur de la colonne spécifiée sous la
forme d'un objet DateTime.
Pris en charge par le .NET Compact Frame work.
GetDecimal Obtient la valeur de la colonne spécifiée sous la
forme d'un objet Decimal.
Pris en charge par le .NET Compact Framework.
GetDouble Obtient la valeur de la colonne spécifiée sous la
forme d'un nombre en virgule flottante double
Pris en charge par le .NET Compact Framework. précision.
GetFieldType Obtient le Type qui correspond au type de
données de l'objet.
Pris en charge par le .NET Compact Framework.
GetFloat Obtient la valeur de la colonn e spécifiée sous la
forme d'un nombre en virgule flottante simple
Pris en charge par le .NET Compact Framework. précision.
GetGuid Obtient la valeur de la colonne spécifiée sous la
forme d'un identificateur global unique (GUID,
Pris en charge par le .NET Compact Framework. Globally-Unique IDentifier).
GetHashCode (hérité de Object) Sert de fonction de hachage pour un type
particulier, adapté à une utilisation dans des
Pris en charge par l e .NET Compact Framework. algorithmes de hachage et des structures de
données telles qu'une table de hachage.
GetInt16 Obtient la valeur de la colonne spécifiée sous la
forme d'un entier signé 16 bits.
Pris en charge par le .NET Compact Framework.
GetInt32 Obtient la valeur de la colonne spécifiée sous la
forme d'un entier signé 32 bits.
Pris en charge par le .NET Compact Framework.
GetInt64 Obtient la valeur de la colonne spécifiée sous la
forme d'un entier signé 64 bits.
Pris en charge par le .NET Compact Framework.
Extrait l'objet de service de durée de vie en cours
GetLifetimeService (hérité de qui contrôle la stratégie de duré e de vie de cette
MarshalByRefObject ) instance.
GetName Obtient le nom de la colonne spécifiée.

Pris en charge par le .NET Compact Framework.


GetOrdinal Obtient le numéro de la colonne, en fonction du
nom de la colonne.
Pris en charge par le .NET Compact Framework.
GetSchemaTable Retourne un DataTable qui décrit les métadonnées

Afpa St Brieuc – Langueux 04/02/2007 Page : 12


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

de la colonne de SqlDataReader .
Pris en charge par le .NET Compact Framework.
GetSqlBinary Obtient la valeur de la colonne sp écifiée sous la
forme de SqlBinary.
Pris en charge par le .NET Compact Framework.
GetSqlBoolean Obtient la valeur de la colonne spécifiée sous la
forme de SqlBoolean.
Pris en charge par le .NET Compact Framework.
GetSqlByte Obtient la valeur de la colonne spécifiée sous la
forme de SqlByte.
Pris en charge par le .NET Compact Framework.
GetSqlDateTime Obtient la valeur de la colonne spécif iée sous la
forme de SqlDateTime.
Pris en charge par le .NET Compact Framework.
GetSqlDecimal Obtient la valeur de la colonne spécifiée sous la
forme de SqlDecimal.
Pris en charge par le .NET Compact Framework.
GetSqlDouble Obtient la valeur de la colonne spécifiée sous la
forme de SqlDouble.
Pris en charge par le .NET Compact Framework.
GetSqlGuid Obtient la valeur de la colonne spécif iée sous la
forme de SqlGuid.
Pris en charge par le .NET Compact Framework.
GetSqlInt16 Obtient la valeur de la colonne spécifiée sous la
forme de SqlInt16.
Pris en charge par le .NET Compact Framework.
GetSqlInt32 Obtient la valeur de la colonne spécifiée sous la
forme de SqlInt32.
Pris en charge par le .NET Compact Framework.
GetSqlInt64 Obtient la valeur de la colonne spécifiée sous la
forme de SqlInt64.
Pris en charge par le .NET Compact Framework.
GetSqlMoney Obtient la valeur de la colonne spécifiée sous la
forme de SqlMoney.
Pris en charge par le .NET Compact Framework.
GetSqlSingle Obtient la valeur de la colonne spécifiée sous la
forme de SqlSingle.
Pris en charge par le .NET Compact Framework.
GetSqlString Obtient la valeur de la colonne spécifiée sous la
forme de SqlString.
Pris en charge par le .NET Compact Framework.
GetSqlValue Obtient un Object qui est une représentation du
Variant SqlDbType sous-jacent.
Pris en charge par le .NET Com pact Framework.
GetSqlValues Obtient toutes les colonnes d'attributs figurant
dans la ligne en cours.
Pris en charge par le .NET Compact Framework.
GetString Obtient la valeur de la colonne spécifiée sous la
forme d'une chaîne.
Pris en charge par le .NET Compact Framework.
GetType (hérité de Object) Obtient le Type de l'instance en cours.

Pris en charge par le .NET Compact Framework.


GetValue Obtient la valeur de la colonne spécifiée dans son

Afpa St Brieuc – Langueux 04/02/2007 Page : 13


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

format natif.
Pris en charge par le .NET Compact Framework.
GetValues Obtient toutes les colonnes d'attributs figurant
dans la collection de la ligne en cours.
Pris en charge par le .NET Compact Framework.
InitializeLifetimeService (hérité de Obtient un objet de service de durée de vie pour
MarshalByRefObject ) contrôler la stratégie de durée de vie de cette
instance.
IsDBNull Obtient une valeur indiquant si la colonne contient
des valeurs inexistantes ou manquantes.
Pris en charge par le .NET Compact Framework.
NextResult Avance le lecteur de données jusqu'au résultat
suivant, lors de la lectur e des résultats des
Pris en charge par le .NET Compact Framework. instructions Transact -SQL par lot.
Read Avance SqlDataReader jusqu'au prochain
enregistrement.
Pris en charge par le .NET Compact Framework.
ToString (hérité de Object) Retourne un String qui représente l' Object en
cours.
Pris en charge par le .NET Compact Framework.

Méthodes protégées

Finalize (hérité de Object) Substitué. Autorise Object à tenter de libérer des


ressources et d'exécuter d'autres opérations de
Pris en charge par le .NET Compact Framework. nettoyage avant que Object soit récupéré par
l'opération garbage collection.

En C# et C++, les finaliseurs sont exprimés à l'aide


de la syntaxe des destructeurs.
MemberwiseClone (hérité de Object) Crée une copie partielle de l' Object en cours.

Pris en charge par le .NET Compact Framework.

Implémentations d'interface explicites

IEnumerable.GetEnumerator Ce membre prend en charge l'infrastructure .NET


Framework et n'est pas destiné à être directement
utilisé à partir de votre code.

Exemple :

SqlDataReader oReader;
string strReq = "select * from ACTEUR where ACTCOD = '" +
txtCode.Text + "'";

SqlCommand oCommand = new SqlCommand(strReq, oConn);

try
{
oReader = oCommand.ExecuteReader();

if (!oReader.Read ())
{

Afpa St Brieuc – Langueux 04/02/2007 Page : 14


Ce document a été fabriqué par PDFmail (Copyright RTE Multimedia)
http://www.pdfmail.com
Cours ADO.net

MessageBox.Show ("Acteur
Inconnu","Erreur",MessageBoxButtons.OK,Mess
ageBoxIcon.Error);

}
else
{
Exo.exo2.Visible = false;
Exo.exo22 = new Exo22();
Exo.exo22.Visible = true;
}
oReader.Close ();
}
catch (Exception error)
{
MessageBox.Show (error.Message,
"Erreur",
MessageBoxButtons.OK,MessageBoxIcon.Error);
}

Afpa St Brieuc – Langueux 04/02/2007 Page : 15