Share via

IDataAdapter Interface


Allows an object to implement a DataAdapter, and represents a set of methods and mapping action-related properties that are used to fill and update a DataSet and update a data source.

IDbDataAdapter instances are for data sources that are (or resemble) relational databases with textual commands (like Transact-SQL), while IDataAdapter instances could can use any type of data source.

public interface class IDataAdapter
public interface IDataAdapter
type IDataAdapter = interface
Public Interface IDataAdapter


The following example uses the derived classes, SqlCommand, SqlDataAdapter, and SqlConnection, to select records from a database. The filled DataSet is then returned. To do this, the method is passed an initialized DataSet, a connection string, and a query string that is a Transact-SQL SELECT statement.

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString)
    using (SqlConnection connection =
        new SqlConnection(connectionString))
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        return dataset;
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        Return dataSet
    End Using
End Function


The IDataAdapter interface allows an inheriting class to implement a DataAdapter class, which represents the bridge between a data source and a DataSet. For more information about DataAdapter classes, see Populating a DataSet from a DataAdapter.

An application does not create an instance of the IDataAdapter interface directly, but implements an instance of a class that inherits IDataAdapter.

Classes that inherit IDataAdapter must implement the inherited members, and they typically define additional members to add provider-specific functionality. For example, the IDataAdapter interface defines a Fill method that takes a DataSet as a parameter. In turn, the OleDbDataAdapter class inherits the Fill method and also defines two additional overloads of the Fill method that take an ADO Recordset object as a parameter.

Notes to Implementers

To promote consistency among .NET Framework data providers, name the inheriting class in the form Prv DataAdapter where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

When you inherit from the IDataAdapter interface, you should implement the following constructors:

Item Description
PrvDataAdapter() Initializes a new instance of the PrvDataAdapter class.
PrvDataAdapter(PrvCommand selectCommand) Initializes a new instance of the PrvDataAdapter class by using the specified SQL SELECT statement.
PrvDataAdapter(string selectCommandText, string selectConnectionString) Initializes a new instance of the PrvDataAdapter class by using an SQL SELECT statement and a connection string.
PrvDataAdapter(string selectCommandText, PrvConnection selectConnection) Initializes a new instance of the PrvDataAdapter class by using an SQL SELECT statement and a PrvConnection object.



Indicates or specifies whether unmapped source tables or columns are passed with their source names in order to be filtered or to raise an error.


Indicates or specifies whether missing source tables, columns, and their relationships are added to the dataset schema, ignored, or cause an error to be raised.


Gets a collection that indicates how a source table is mapped to a dataset table.



Adds or updates rows in the DataSet to match those in the data source using the DataSet name, and creates a DataTable named "Table".

FillSchema(DataSet, SchemaType)

Adds a DataTable named "Table" to the specified DataSet and configures the schema to match that in the data source based on the specified SchemaType.


Gets the parameters set by the user when executing an SQL SELECT statement.


Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataSet from a DataTable named "Table".

Applies to