.Net et l - PowerPoint PPT Presentation

About This Presentation
Title:

.Net et l

Description:

Rappel sur les bases de donn es relationnelles. Pr sentation des classes de ADO.NET ... Peut cr er des inter blocages. 12/8/09. 29. Plan. Base de donn es. Base de donn es ... – PowerPoint PPT presentation

Number of Views:134
Avg rating:3.0/5.0
Slides: 68
Provided by: miche241
Category:
Tags: blocages | net

less

Transcript and Presenter's Notes

Title: .Net et l


1
.Net et laccès aux donnéesADO.Net
  • Michel RIVEILL
  • riveill_at_unice.fr - http//www.essi.fr/riveill
  • Laboratoire I3S
  • Ecole dIngénieur en Sciences Informatiques (ESSI)

2
Objectifs et plan
  • Objectifs
  • Rappel sur les bases de données relationnelles
  • Présentation des classes de ADO.NET
  • Utilisation de ADO.NET dans une application
  • Plan
  • Base de données
  • Base de données relationnelles
  • Survol dADO.NET
  • Présentation des classes dADO.NET

3
Base de données
  • Toutes applications nécessitent des outils pour
    conserver et retrouver des données structurées
  • E-Commerce sauvegarder un ordre, remplir un
    ordre
  • Assistant personnel données personnelles
    (contact, agenda, )
  • Les services attendus varient en fonction des
    applications
  • Transaction/OLTP
  • Entrepôt de données/OLAP

4
Base de données Besoins
  • Conservation, lecture et modification des données
  • Copier, transformer des données
  • Sauvegarder et restaurer des données
  • Exprimer, vérifier des règles dintégrité
  • Facteur déchelle et disponibilité
  • Evolution du nombre dutilisateurs
  • Volume important des données
  • Débit important et temps de réponse court
  • Être sûr
  • Facilité le développement des applications

5
Base de donnéesEvolution des technologies
  • Fichier
  • Bases de données hiérarchiques
  • Accès à distance
  • Bases de données relationelles (RDBMS)
  • Bases de données orientés objets
  • XML

6
Plan
  • Base de données
  • Base de données relationnelles
  • Survol dADO.NET
  • Présentation des classes dADO.NET

7
Base de données relationnellesTables
  • Table (relation, entity)
  • Une collection de données avec un type
    spécifique
  • Organisée en lignes et colonnes
  • Colonne (attribut, champ)
  • Décrit une partie dun entité (e.g. FirstName)
  • Donnée typée (e.g. integer, character, binary)
  • Peut être nulle
  • ligne (tuple, enregistrement)
  • Instance dune donnée dans une table
  • Chaque ligne est unique

AuthID FirstName LastName
1 Joe Smith
2 Diane Jones
8
Base de données relationnelles Relations
  • Les tables peuvent être liées par des clés
    primaires ou externes (e.g., a book has an
    author)
  • Clés primaires
  • Guarantissent lunicité dune ligne
  • Peut être composée dune ou plusieurs colonnes
  • Permet de garantir lintégrité des entités
  • Clés externes
  • Permettent détablir des relations logiques entre
    des tables
  • Une ou plusieurs colonnes dune table correspond
    à une clé primaire (ou externe) dune autre table
  • Permettent de garantir lintégrité de la base

9
Base de données relationnelles Relations
  • Schema diagram depicts tables, columns, primary
    keys, foreign keys

Books
BookID
AuthID
Title
Type
Authors
AuthID
FirstName
LastName
1
8
Schema Diagram
10
Base de données relationnelles Relations
Books Table
Primary Key
BookID AuthID Title Type
1 2 My Life as a DBA Autobiography
2 1 Database Handbook Reference
PK/FK Relationship
Foreign Key
AuthID FirstName LastName
1 Joe Smith
2 Diane Jones
Authors Table
11
Base de données relationnelles Type de relations
1
1
  • One-to-One (11)
  • Uneligne dans la table X correspond à une ligne
    dans la table Y
  • Un livre a au plus une entrée dans la
    bibliothèque
  • One-to-Many (1M)
  • Une ligne dans la table X correspond à 0 lignes
    dans la table Y
  • Un éditeur publie un ou plusieurs livres
  • Many-to-Many (MN)
  • 1 lignes dans la table X correspond à 1 lignes
    dans la table Y
  • Un auteur écrit un ou plusieurs livres un livre
    est écrit par un ou plusieurs auteurs

Books
LoC Entries
1
M
Publishers
Books
M
N
Authors
Books
12
Base de données relationnelles Relations MN
  • Les plus complexes
  • Peuvent nécessité la construction de très grandes
    bases (contenant des données répliquées)
  • Difficile dassurer lintégrité de la base
  • Le remède créer une troisième table
  • La troisième table contient les clés primaires
    des deux tables dorigine (construction dune clé
    composite)
  • Les données sont répétés dans cette troisième
    table, mais pas dans les deux tables originales

Authors
Books
M
M
1
1
BookAuth
13
Base de données relationnelles Relations MN
1
8
Data is duplicated here
1
1
8
8
14
Base de données relationnelles Normalisation/Déno
rmalisation
  • Normalisation
  • Processus qui permet de casser une grande table
    en plusieurs petites
  • But minimiser les données redondantes,
    augmenter la correction
  • Améliore les performances lors des mises à jours
  • Souhaitable pour des applications
    transactionnelles
  • Dénormalisation
  • Processus qui combine de petite table pour en
    construire une grande
  • But améliorer les performances
  • Introduit des données redondantes
  • Améliore les performances lors des lectures
  • Souhaitable pour les entrepôts de données

15
Base de données relationnelles Jointures
  • Une jointure est la combinaison de données
    stockées dans plusieurs tables
  • Repose généralement sur les relations clés
    publiques/clés externes

Vendor table
Cost
Vendor
Product
Vendor
Contact
State
10
Acme
Widget
Acme
Linda A.
MA
Product table
5
Acme
Thingy
Blecco
Adam P.
WA
8
Blecco
Widget
25
Blecco
Foobar
Vendor
State
Contact
Cost
Product
Linda A.
MA
Acme
10
Widget
Linda A.
MA
Acme
5
Thingy
Blecco
WA
Adam P.
8
Widget
jointure
Blecco
WA
Adam P.
25
Foobar
16
Base de données relationnelles Structured Query
Language (SQL)
  • Langage standardisé pour acceder à une base de
    données relationnelles (ANSI) SQL-92
  • Open, mais pas réellement
  • Les fonctions usuelles sont les mêmes dans les
    différents produits
  • La plupart des vendeurs ont des extensions
    propriétaires
  • Sous-ensemble de SQL
  • Data Definition Language (DDL)
  • Data Manipulation Language (DML)
  • Data Control Language (DCL)

17
Base de données relationnellesDDL
  • Utilisé pour créer et modifier les objets dune
    base de données

CREATE DATABASE Bookstore
CREATE TABLE tBooks ( BookID INT
IDENTITY(1,1) PRIMARY KEY, Title
VARCHAR(30) NOT NULL, PubDate DATE NOT
NULL, Description VARCHAR(50), Category
INT NOT NULL )
18
Base de données relationnellesDML
  • Selection de données

SELECT FROM tAuthors
SELECT AuthID, FirstName, LastName FROM
tAuthors
SELECT AuthID, FirstName, LastName, Phone
FROM tAuthors WHERE City Boston
SELECT FirstName, LastName, Phone FROM
tAuthors WHERE AuthID 249
19
Base de données relationnelles DML
  • Construction dune jointure

SELECT AuthID, FirstName, LastName, Phone,
BookID, Title, PubDate, Description FROM
tAuthors, tBooks WHERE tAuthors.AuthID
tBooks.AuthID
SELECT AuthID, FirstName, LastName, Phone,
BookID, Title, PubDate, Description FROM
tAuthors INNER JOIN tBooks ON
tAuthors.AuthID tBooks.AuthID
20
Base de données relationnelles DML
  • Insérer, modifier et supprimer des données

INSERT INTO tBooks (Title, PubDate,
Description, Category) VALUES (Database
Design, GETDATE(), How to design a
database, 3)
UPDATE tAuthors SET Phone 617-555-1234
WHERE AuthID 5
DELETE FROM tAuthors WHERE AuthID 5
21
Base de données relationnellesDCL
  • Protéger les accès à la base

GRANT INSERT, UPDATE, DELETE ON tAuthors TO
Mary, John
REVOKE CREATE TABLE FROM Joe
DENY ALL ON tAuthors, tBooks TO Sally
22
Base de données relationnelles Vues
  • Une vue est une table virtuelle
  • Abstraire la structure dune table
  • Abstraire des requêtes (généralement complexes)
  • Abstraire les règles de protection dune table
  • dans SQL Server 2000, une vue peut être
  • Indexée
  • Modifier et insérée dans la base

CREATE VIEW vwCustomerOrders AS SELECT
o.OrderId, c.CompanyName FROM Customers c
INNER JOIN Orders o ON c.CustomerID
O.CustomerID ORDER BY o.OrderId
23
Base de données relationnellesUtilisation des
vues
SELECT FROM vwCustomerOrders WHERE
CompanyName 'My Favorite Customer'
OrderId CompanyName
101 My Favorite Customer
137 My Favorite Customer

24
Base de données relationnelles Procédures
stockées
CREATE PROCEDURE CustOrderHist _at_CustomerID
nchar(5) AS SELECT ProductName, TotalSUM(Quant
ity) FROM Products P, Order Details OD,
Orders O, Customers C WHERE C.CustomerID
_at_CustomerID AND C.CustomerID O.CustomerID
AND O.OrderID OD.OrderID AND OD.ProductID
P.ProductID GROUP BY ProductName
  • Un ensemble dinstructions SQL qui sexécute à
    coté de la base de données
  • Ne fait pas parti du standard SQL
  • Offre une meilleure performance
  • Permet de contrôler laccès aux données
  • Peut accepter des paramètres
  • Peut retourner des données
  • Paramètres de sorties
  • Valeur de retour
  • Ensemble de retour

exec CustOrderHist 'alfki'
ProductName Total
Aniseed Syrup 6
Chartreuse verte 21
... ...
25
Base de données relationnelles Procédures
stockées
  • Utiliser linstruction RETURN pour létat
  • Valeur par défaut de SQL Server 0
  • Uniquement des valeurs numériques
  • Utiliser les paramètres OUTPUT pour les résultats

RETURN 1
CREATE PROCEDURE MyProcedure _at_ReturnValue INT
OUTPUT ... SELECT _at_ReturnValue ColumnName
FROM Table
26
Base de données relationnelles Triggers
  • Comme les procédures stockées, les triggers
    sont du code qui sexécute hors de la base de
    données
  • Ne peuvent pas être appelées directement par les
    utilisateurs
  • Exécutée à des moments spécifiques de la vie
    dune donnée particulière (INSERT, UPDATE or
    DELETE)
  • Permet de vérifier des règles dintégrités
  • FOR AFTER trigger exécuté après les actions
    triguées
  • FOR INSTEAD OF trigger exécuté à la place des
    actions triguées

27
Base de données relationnelles Transactions
  • Transaction une séquence SQL qui constitue une
    unité logique
  • Respect des propriétés ACID
  • Atomicité toute la séquence est exécutée avec
    succès, ou en cas derreur on revient à létat
    initial
  • Consistance laisse les données dans un état
    consistant (respect des règles dintégrités)
  • Isolation ne peut pas voir les modifications
    effectuées par des transactions concurrentes
  • Durabilité même en cas de panne, les effets de
    la transaction ne peuvent pas être effacés un
    fois quelle a validé

28
Base de données relationnelles Concurrence
  • Niveau disolation
  • Lecture avant commit
  • Lecture après commit
  • Lecture multiple
  • Sérialisation
  • Choix concurrence vs. intégrité des données
  • Verrouillage
  • Permet de garantir lintégrité des transactions /
    la consistance de la base de données
  • Permet de se prémunir des données fantôme (i.e.
    on lit une valeur qui na jamais existé)
  • Peut créer des inter blocages

29
Plan
  • Base de données
  • Base de données relationnelles
  • Survol dADO.NET
  • Présentation des classes dADO.NET

30
Survol dADO.NETRappel
  • ODBC (Open Database Connectivity)
  • Interopérabilité avec de nombreuses bases de
    données (DBMS)
  • API largement acceptée
  • utilise SQL comme langage daccès aux données
  • DAO (Data Access Objects)
  • Interface de programmation pour les bases de
    données JET/ISAM
  • Utilise automation (ActiveX, OLE automation)
  • RDO (Remote Data Objects)
  • Fortement couplé avec ODBC
  • Adapté au modèle client-serveur (vs. DAO)
  • OLE DB
  • Accès aux données relationnelles ou non
  • Construit pour COM
  • Pas restreint au langage SQL
  • Peut utiliser des drivers ODBC
  • Interface de bas niveau (C)
  • ADO (ActiveX Data Objects)
  • Interface orientée objet, Ensemble de composants
    daccès
  • Défini un modèle de programmation pour OLE DB
    accessible pour tous les langages

31
Survol dADO.NETChaîne daccès ADO
Votre application
ADO
OLE DB
ODBC Provider
Simple Provider
Native Provider
OLE DB Provider
ODBC
OLE DB Provider
ODBC Driver
TextFile
Mainframe
Database
Database
32
Survol dADO.NETADO
  • ADO a été défini comme un modèle fortement couplé
    (mode connecté)
  • Approprié pour les architectures client/serveur
  • Défini pour le modèle relationnel
  • Par pour le modèle hiérarchique (XML)
  • La conception objet dADO laisse à désirer
  • Plusieurs manière de faire la même chose
  • Une même objet a plusieurs utilisations
  • Pas défini pour les applications réparties
    (n-tier architecture)

33
Survol dADO.NETADO.NET
  • ADO .NET est une collection de classes,
    interfaces, structures et de types énumérés pour
    accéder à des données relationnelles dans le
    framework .NET
  • La collection est organisées dans différentes
    bibliothèques
  • System.Data, System.Data.OleDb,
    System.Data.SqlClient, etc.
  • ADO .NET est une évolution dADO.
  • Ne partage pas le même modèle objet
  • Mais partage plusieurs paradigmes ou
    fonctionnalités

34
Survol dADO.NETObjectifs dADO.NET
  • Excellente conception
  • Gestion robuste du modèle déconnecté
  • Supporter aussi bien le modèle hiérarchique que
    le modèle relationnel
  • support des données XML
  • Permettre laccès aux données à laide dHTTP
  • Maintenir la familiarité avec le modèle de
    programmation dADO
  • Rendre ADO disponible via .NET
  • Interoperabilité avec COM

35
Survol dADO.NETProviders supportés
  • Fusionner ADO et OLEDB en un seul niveau
  • Chaque provider contient un ensemble de classe
    qui implémentent une interface commune
  • Implémentations initiales
  • ADO Managed Provider permet laccès ay base de
    données de type OLE
  • SQL Server Managed Provider fournit des
    performance optimale pour lutilisation dun
    serveur SQL
  • Exchange Managed Provider permet la recherche
    et la modification de donnée dans Microsoft
    Exchange

36
Survol dADO.NETProviders supportés
Votre application
ADO.NET Managed Provider
SQL Managed Provider
ADO Managed Provider
OLE DB Provider
SQL ServerDatabase
Database
37
Survol dADO.NETAccès aux données
  • Connecté Forward-only, read-only
  • Les applications requêtent les données, les
    rapatrient et les utilisent
  • Firehose cursor
  • DataReader
  • Déconnecté
  • Les applications requêtent les données, les
    sauvegardent pour pouvoir les traiter
  • Minimise le temps de connexion avec la base
  • DataSet

38
Survol dADO.NETLiaison aux données (data
binding)
  • Composant clé du framework Web Forms
  • Flexible et facile à utiliser
  • Permet de lier nimporte quel type de données
    stocké dans une base
  • Permet de contrôler les transferts de données
    entre la base et lapplication
  • Contrôle simple pour laccès à une valeur simple
  • Contrôle complexe pour laccès à une donnée
    structurée

ltaspLabel runatserver Text'lt
CustList(0).FirstName gt'/gt
39
Plan
  • Base de données
  • Base de données relationnelles
  • Survol dADO.NET
  • Présentation des classes dADO.NET

40
ADO.NETInterface IDbConnection
  • Créer une session unique avec un source de
    données
  • Implémenté par SqlDbConnection and
    OleDbConnection
  • Fonctionnalités
  • Ouvrir, fermer les connections
  • Démarrer les transactions
  • IDbTransaction fournit les méthodes Commit et
    Rollback
  • Utilisé avec les objets IDbCommand et
    IDataAdapter
  • Dautres propriétés, méthodes et collections
    peuvent être offerts selon le provider

41
ADO.NETInterface IDbCommand
  • Représente une instruction qui peut être envoyée
    à une source de données
  • Peut être du SQL mais pas nécessairement
  • Implémenter par OleDbCommand et SqlCommand
  • Fonctionnalités
  • Défini une instruction à exécuter
  • Exécute linstruction
  • Passe et récupère les paramètres
  • Crée et prépare une version compilée de la
    commande
  • ExecuteReader retourne une ligne, ExecuteNonQuery
    ne retourne rien, ExecuteScalar retourne une
    valeur simple
  • Dautres propriétés, méthodes et collections
    peuvent être offerts selon le provider

42
ADO.NETInterface IDataReader
  • Accès en mode forward-only, read-only à un flux
    (stream) de données
  • Implémenté par SqlDataReader et OleDbDataReader
  • Créé par la méthode ExecuteReader de IDbCommand
  • Les opérations sur les objets associés à la
    connexion (IDbConnection) ne sont pas autorisé
    jusquà la fermeture de la lecture

43
ADO.NETNamespace System.Data.OleDb
  • À utiliser avec des providers OLEDB (namespace
    managed)
  • SQLOLEDB (SQL Server) utilise System.Data.SQL
  • MSDAORA (Oracle)
  • JOLT (Jet)
  • OLEDB for ODBC providers
  • Classes OleDbConnection, OleDbCommand et
    OleDbDataReader
  • Classes pour la gestion des erreurs
  • Classes pour la gestion des connexions

44
ADO.NET Un exemple DataReader
string sConnString ProviderSQLOLEDB.1
User IDsaInitial CatalogNorthwind
Data SourceMYSERVER OleDbConnection conn
new OleDbConnection(sConnString) conn.Open() s
tring sQueryString SELECT CompanyName FROM
Customers OleDbCommand myCommand new
OleDbCommand(sQueryString, conn) OleDbDataReader
myReader myCommand.ExecuteReader() while
(myReader.Read()) Console.WriteLine(myReader.
GetString(0)) myReader.Close() conn.Close()
45
ADO.NET Démonstration DataReader, Insert
46
ADO.NETNamespace System.Data
  • Contient les classes au coeur de larchitecture
    ADO.NET
  • La classe DataSet, qui gère le mode déconnecté
    est centrale
  • Supporte tous les types dapplications
  • Internet
  • ASP.NET
  • XML
  • Windows
  • Contient les classes définies ou surchargées par
    les différents providers
  • IDbConnection, IDbCommand, IDbDataReader

47
ADO.NET DataSet
  • Une collection de tables
  • Na pas la connaissance de la source de données
  • Capture toutes les relations entre les tables
  • Modèle de programmation complet (objets pour les
    tables, les colonnes, les relations, etc.)
  • Mémorise létat original et létat courant des
    données
  • Peu modifier dynamiquement les données et les
    méta-données
  • Permet de sérialiser les schémas en XML
  • Défini dans le namespace System.Data

48
ADO.NET DataSet
DataSet
DataTable
DataColumn
DataRow
DataRelation
49
ADO.NET Namespace System.Data.SqlClient
  • Défini de manière native par le serveur SQL
    (managed code)
  • Construit à laide de TDS (Tabular Data Stream)
    pour de bonne performance dans le serveur SQL
  • Défini les classes SqlConnection, SqlCommand and
    SqlDataReader
  • Défini aussi des classes pour
  • Gestion des erreurs
  • La gestion des connections par pool
    (fonctionnement par défaut)
  • System.Data.SqlTypes fournit les classes pour la
    gestion des types du serveur SQL

50
ADO.NET Interface IDataAdapter
  • Publie ou envoie les modification à un DataSet
  • Implémenté par OleDbDataAdapter et SqlDataAdapter
  • Fonctionnement sans connexion
  • Permet un fonctionnement en mode asynchrone
  • Contient quatre objets commandes par défaut
  • Select, Insert, Update, et Delete

51
ADO.NET Classes DataSet Example
string sConnString Persist Security
InfoFalse User IDsaInitial
CatalogNorthwind Data
SourceMYSERVER SqlConnection conn new
SqlConnection(sConnString) conn.Open() string
sQueryString SELECT CompanyName FROM
Customers SqlDataAdapter myDSAdapter new
SqlDataAdapter() DataSet myDataSet new
DataSet() myDSAdapter.SelectCommand new
SqlCommand(sQueryString, conn) myDSAdapter.Fill(m
yDataSet) conn.Close()
52
ADO.NET Classes Démonstration DataSet
53
ADO.NET Classes Démonstration procédure stockée
54
ADO.NET Classes DataTable
  • Objet mémoire représentant une table
  • Colonnes
  • lignes
  • Le schéma est définit dans la collection Columns
  • Lintégrité des données est assurée par les
    objets Constraint
  • Évènements publiques
  • Modification / suppression de lignes
  • Modification des colonnes

55
ADO.NET Classes DataColumn
  • Élément fondamental de lobjet DataTable (contenu
    dans la collection Columns)
  • Définis quel type de données peuvent être
    stockées dans la table (via la propriété
    DataType)
  • Dautres importantes propriétés peuvent être
    inclues AllowNull, Unique, et ReadOnly
  • Peut aussi contenir Constraints (collection de
    DataTable)
  • Peut aussi contenir Relations (collection de
    DataSet)

56
ADO.NET Classes DataRow
  • Représente une donnée dans DataTable (contenu
    dans la collection Rows)
  • Conforme au schéma défini par DataColumns
  • Propriétés pour déterminer létat de la ligne
    (e.g., new, changed, deleted, etc.)
  • Tous ajouts/modifications doivent validées
    (committed) par la méthode AcceptChanges de
    DataTable

57
ADO.NET Classes DataRelation
  • Met en relation deux DataTables via DataColumns
  • Les valeurs des DataType des deux DataColumns
    doivent être identiques
  • Les modifications peuvent être propagées au fils
    de DataTables
  • Les modifications qui invalident les relations
    sont interdites

58
ADO.NET Classes Créer un DataSet
  • Créer un DataSet
  • Définir les tables

DataSet dataset new DataSet() dataset.DataSetNa
me BookAuthors DataTable authors new
DataTable(Author) DataTable books new
DataTable(Book)
59
ADO.NET Classes Créer un DataSet
  • Definir les colonnes
  • Definir la ou les clés

DataColumn id authors.Columns.Add("ID",
typeof(Int32)) id.AutoIncrement
true authors.PrimaryKey new DataColumn
id DataColumn name new
authors.Columns.Add("Name",typeof(String)) DataC
olumn isbn books.Columns.Add("ISBN",
typeof(String)) books.PrimaryKey new
DataColumn isbn DataColumn title
books.Columns.Add("Title", typeof(String)) DataCo
lumn authid books.Columns.Add(AuthID,typeof(In
t32)) DataColumn foreignkey new DataColumn
authid
60
ADO.NET Classes Créer un DataSet
  • Ajouter les tables au DataSet

dataset.Tables.Add (authors) dataset.Tables.Add
(books)
61
ADO.NET Classes Créer un DataSet
  • Ajouter les données et sauvegarder le DataSet

DataRow shkspr authors.NewRow() shkspr"Name"
"William Shakespeare" authors.Rows.Add(shkspr)
DataRelation bookauth new DataRelation("BookAu
thors", authors.PrimaryKey,
foreignkey) dataset.Relations.Add
(bookauth) DataRow row books.NewRow() row"Au
thID" shkspr"ID" row"ISBN"
"1000-XYZ" row"Title" "MacBeth" books.Rows.A
dd(row) dataset.AcceptChanges()
62
ADO.NET Classes Démonstration créer un DataSet
63
ADO.NET ClassesDataSet typé
  • DataSet typé
  • Dérivé de la classe de base DataSet
  • Utilise les schémas XML pour générer une nouvelle
    classe
  • Tables, colonnes, etc. sont compilées dans une
    nouvelle classe

ds.Customers.FirstName
  • DataSet non typé
  • Pas de schéma prédéfini
  • Tables, colonnes, etc. sont exposées uniquement
    comme des collections

ds.TablesCustomers.Rows0FirstName
64
ADO.NET Erreurs et exceptions
  • Classe Error
  • Contient les informations liées à une erreur ou à
    un warning retourné par une source de données
  • Créé et géré par la classe Errors
  • Classe Errors
  • Contient toutes les erreurs générées par un
    adaptateur
  • Créé par la classe Exception
  • Classe Exception
  • Créé chaque fois quune erreur non traitée
    survient
  • Contient au moins une instance de la classe Error

try DataTable myTable new DataTable()
myTable.Columns.Add(myCol)
myTable.Columns.Add(myCol)
//whoops! Catch (DataException myException)
Console.WriteLine ( "Message
myException.Message "\n "Source
myException.Source "\n Stack Trace
myException.StackTrace "\n")
65
ADO.NET Classes Démonstration DataException
66
Pour aller plus loin
  • Introducing ADO
  • http//msdn.microsoft.com/msdnmag/issues/1100/adop
    lus/adoplus.asp
  • ADO.NET
  • http//msdn.microsoft.com/library/default.asp?URL
    /library/dotnet/cpguide/cpconaccessingdata.htm
  • ADO Guides the Evolution of the Data Species
  • http//msdn.microsoft.com/library/techart/adoplus.
    htm
  • ADO.NET for the ADO Programmer
  • http//msdn.microsoft.com/library/techart/adonetde
    v.htm
  • ADO Rocks and Rolls in .NET Applications
  • http//msdn.microsoft.com/library/welcome/dsmsdn/d
    ata02222001.htm
  • Meditating on OLE DB and .NET
  • http//msdn.microsoft.com/library/welcome/dsmsdn/d
    ata03222001.htm

67
Pour aller plus loin
  • Reading Data Reader Secrets
  • http//msdn.microsoft.com/library/welcome/dsmsdn/d
    ata04122001.htm
  • Database-like Data Containers
  • http//msdn.microsoft.com/library/default.asp?URL
    /library/welcome/dsmsdn/data04122001.htm
  • ADO
  • http//msdn.microsoft.com/library/default.asp?URL
    /library/psdk/dasdk/ados4piv.htm
  • Universal Data Access
  • http//www.microsoft.com/data/
  • SQL Server
  • http//www.microsoft.com/sql/default.asp
Write a Comment
User Comments (0)
About PowerShow.com