Programmer en C# avec ADO.NET
[15 mn de lecture - paru le 11/3/2003 - Public : Débutant]
|
   
|
Auteur
1. Accès aux données
Dans les versions précédentes d'ADO, Microsoft a essayé de créer des méthodes
les plus génériques possibles. L'apparition dans ADO.NET des managed provider permettent maintenant l'optimisation des accès aux bases de données.
1.1. Les managed providers
Les managed providers sont les ponts qui relient les bases de données aux
applications .NET.
Ils sont composés de 4 objets :
- Connection : il représente une session unique vers une base de donnée.
Il fonctionne sur le principe d'une connection réseau client/server.
- Command : il permet d'exécuter une requête SQL/T-SQL/procédure stockée sur une base de donnée.
- DataReader : il permet une lecture seule en avant uniquement , d'un flux de données provenant d'une base de donnée.
- DataAdaptater : il est composé d'un ensemble de commandes et d'une connection qui
sont utilisés pour remplir un DataSet avec les données d'une base.
ADO.NET, offre 2 managed providers. Ces providers ont un modèle identique,
mais sont choisis selon la source de données utilisée :
- OleDB : il utilise le OLEDB en natif et le COM Interop pour établir la
connexion et interagir avec une source de données. C'est le provider à
utiliser lorsque l'on travail avec une source données différente de
SQLServer. Il fait appel au nom d'espace System.Data.OleDb.
- Sql : c'est le provider optimisé pour SQLServer. Il est définit dans le
nom d'espace System.Data.SqlClient.
1.2 L'objet Connection
Comme pour ADO, les objets de connection OleDb et SQL comportent un certain
nombre de propriétés.
| Propriété |
Description |
| ConnectionString |
Retourne ou assigne la chaîne de caractère utilisé pour accéder a la
base. |
| ConnectionTimeout |
Retourne ou assigne le délai d'attente avant de considérer un échec
de connexion. |
| Database |
Retourne ou assigne le nom de la bdd en cours ou de la bdd qui sera
utilisée lorsque la connexion sera ouverte. |
| DataSource |
Retourne ou assigne le nom de la bdd ou l'on se connecte. |
| PacketSize(SqlConnection seulement) |
Retourne la taille des paquets transférés. |
| Provider(OleDbConnection seulement) |
Retourne ou assigne le nom du provider OleDb. |
| ServerVersion(SqlConnection seulement) |
Retourne une chaîne de caractère contenant la version du SqlServer
où l'on est connecté. |
| State |
Retourne l'état de la connexion. |
Exemple de gestion de connexion avec une base de donnée SQLServer :
string strCon = "Data Source = localhost; Integrated Security=SSPI;";
strCon += "Initial Catalog = Mydb";
SqlConnection oCon = new SqlConnection(strCon);
try
{
oCon.Open();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
oCon.Close();
} | 1.3 L'objet CommandL'objet Command représente une syntaxe SQL qui sera exécuté sur la bdd. Il
peut contenir une simple requête SQL tout comme une procédure stockée ou encore
une requête T-SQL. Une fois que la connexion est établie, l'objet command permet de récupérer
des données, les mettre à jours , en insérer de nouvelles, ou en supprimer. La
création d'un objet se fait par l'instanciation d'un objet SqlCommand(pour
SqlServer , OleDbCommand pour les autres sources de données). Cet objet dispose
de différentes méthodes selon le résultat recherché :
- ExecuteReader : utilisé pour récupérer des données , il retourne un
DataReader qui permettra un affichage des données(cf 2.1).
- ExecuteNonQuery : utilisé pour exécuter une commande qui ne retourne pas
de lignes, on va utiliser cette méthode pour faire des insert/update/delete
dans une base de données.
string strCon = "Data Source = localhost; Integrated Security=SSPI;";
strCon += "Initial Catalog = Mydb";
string strQuery = "insert into user(nom,prenom) values('biloute','john')" ;
SqlConnection oCon = new SqlConnection(strCon);
try
{
SqlCommand oCommand = new SqlCommand(strQuery,strCon);
oCon.Open();
oCommand.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
oCon.Close();
} |
|