Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

IDbConnection interface

 

Représente une connexion ouverte vers une source de données et est implémenté par les fournisseurs de données .NET Framework qui accèdent aux bases de données relationnelles.

Espace de noms:   System.Data
Assembly:  System.Data (dans System.Data.dll)

public interface IDbConnection : IDisposable

NomDescription
System_CAPS_pubpropertyConnectionString

Obtient ou définit la chaîne utilisée pour ouvrir une base de données.

System_CAPS_pubpropertyConnectionTimeout

Obtient la durée d'attente préalable à l'établissement d'une connexion avant que la tentative ne soit abandonnée et qu'une erreur ne soit générée.

System_CAPS_pubpropertyDatabase

Obtient le nom de la base de données active ou de la base de données à utiliser une fois la connexion ouverte.

System_CAPS_pubpropertyState

Obtient l’état actuel de la connexion.

NomDescription
System_CAPS_pubmethodBeginTransaction()

Commence une transaction de base de données.

System_CAPS_pubmethodBeginTransaction(IsolationLevel)

Commence une transaction de base de données avec la valeur de champ IsolationLevel spécifiée.

System_CAPS_pubmethodChangeDatabase(String)

Modifie la base de données actuelle pour un objet Connection ouvert.

System_CAPS_pubmethodClose()

Ferme la connexion à la base de données.

System_CAPS_pubmethodCreateCommand()

Crée et retourne un objet Command associé à la connexion.

System_CAPS_pubmethodDispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.(Hérité de IDisposable.)

System_CAPS_pubmethodOpen()

Ouvre une connexion de base de données avec les paramètres spécifiés par la propriété ConnectionString de l’objet de connexion spécifique au fournisseur.

Le IDbConnection interface permet à une classe qui hérite d’implémenter une classe de connexion, ce qui représente une session unique avec une source de données (par exemple, une connexion réseau à un serveur). Pour plus d’informations sur les classes de connexion, consultez Connexion à une source de données dans ADO.NET.

Une application ne crée pas une instance de la IDbConnection interface directement, mais crée une instance d’une classe qui hérite de IDbConnection.

Les classes qui héritent IDbConnection doit implémenter les membres hérités et définissent généralement des membres supplémentaires pour ajouter des fonctionnalités spécifiques au fournisseur. Par exemple, le IDbConnection interface définit le ConnectionTimeout propriété. À son tour, le SqlConnection classe hérite de cette propriété et définit également la PacketSize propriété.

Remarques à l’attention des implémenteurs :

Pour promouvoir la cohérence entre les fournisseurs de données .NET Framework, nommez la classe qui hérite sous la forme PrvClassnamePrv est le préfixe uniforme affecté à toutes les classes dans un espace de noms de fournisseur de données .NET Framework spécifique. Par exemple, Sql est le préfixe de le SqlConnection classe dans le System.Data.SqlClient espace de noms.

Lorsque vous héritez de la IDbConnection interface, vous devez implémenter les constructeurs suivants :

Élément

Description

PrvConnection()

Initialise une nouvelle instance de la classe PrvConnection.

PrvConnection (chaîne connectionString)

Initialise une nouvelle instance de la classe PrvConnection en fonction d’une chaîne contenant la chaîne de connexion.

L’exemple suivant crée des instances des classes dérivées, SqlCommand et SqlConnection. Le SqlConnection est ouvert et définie comme la Connection pour le SqlCommand. L’exemple appelle ensuite ExecuteNonQueryet ferme la connexion. Pour ce faire, le ExecuteNonQuery est passée à une chaîne de connexion et une chaîne de requête qui est une instruction Transact-SQL INSERT.

using System;
using System.Data;

namespace IDbConnectionSample {
   class Program {
      static void Main(string[] args) {
         IDbConnection connection;

         // First use a SqlClient connection
         connection = new System.Data.SqlClient.SqlConnection(@"Server=(localdb)\V11.0");
         Console.WriteLine("SqlClient\r\n{0}", GetServerVersion(connection));
         connection = new System.Data.SqlClient.SqlConnection(@"Server=(local);Integrated Security=true");
         Console.WriteLine("SqlClient\r\n{0}", GetServerVersion(connection));

         // Call the same method using ODBC
         // NOTE: LocalDB requires the SQL Server 2012 Native Client ODBC driver
         connection = new System.Data.Odbc.OdbcConnection(@"Driver={SQL Server Native Client 11.0};Server=(localdb)\v11.0");
         Console.WriteLine("ODBC\r\n{0}", GetServerVersion(connection));
         connection = new System.Data.Odbc.OdbcConnection(@"Driver={SQL Server Native Client 11.0};Server=(local);Trusted_Connection=yes");
         Console.WriteLine("ODBC\r\n{0}", GetServerVersion(connection));

         // Call the same method using OLE DB
         connection = new System.Data.OleDb.OleDbConnection(@"Provider=SQLNCLI11;Server=(localdb)\v11.0;Trusted_Connection=yes;");
         Console.WriteLine("OLE DB\r\n{0}", GetServerVersion(connection));
         connection = new System.Data.OleDb.OleDbConnection(@"Provider=SQLNCLI11;Server=(local);Trusted_Connection=yes;");
         Console.WriteLine("OLE DB\r\n{0}", GetServerVersion(connection));
         }

      public static string GetServerVersion(IDbConnection connection) {
         // Ensure that the connection is opened (otherwise executing the command will fail)
         ConnectionState originalState = connection.State;
         if (originalState != ConnectionState.Open)
            connection.Open();
         try {
            // Create a command to get the server version
            // NOTE: The query's syntax is SQL Server specific
            IDbCommand command = connection.CreateCommand();
            command.CommandText = "SELECT @@version";
            return (string)command.ExecuteScalar();
         }
         finally {
            // Close the connection if that's how we got it
            if (originalState == ConnectionState.Closed)
               connection.Close();
         }
      }
   }
}

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: