29.1 CommentsTroubleshooting

29.1 Comments/Troubleshooting

No reference is maintained between the DataSet , the DataAdapter , and the Connection . After the DataAdapter retrieves data from a data source into a DataSet , the DataSet has no information about the connection, database, tables, columns , or any other details about the source of the data.

Because the DataAdapter is a connected class, each .NET data provider implements its own DataAdapter , with a similar interface and function to other DataAdapter classes but in its own unique namespace. The DataAdapter class namespaces for several ADO.NET data providers are listed in Table 29-1.

Table 29-1. Provider-specific DataAdapter classes

Class

Data source

 System.Data.SqlClient.SqlDataAdapter 

SQL Server

 System.Data.OleDb.OleDbDataAdapter 

OLE DB provider

 Microsoft.Data.Odbc.OdbcDataAdapter 

ODBC driver

 System.Data.OracleClient.OracleDataAdapter 

Oracle

The commonly used public properties of the DataAdapter class are listed in Table 29-2.

Table 29-2. DataAdapter properties

Property

Description

 AcceptChangesDuringFill 

Gets or sets a value indicating whether the row is committed when added to a table using the Fill( ) method.

 ContinueUpdateOnError 

Gets or sets a value indicating whether the DataAdapter should raise an exception and stop processing remaining updates when an error is encountered .

 DeleteCommand 

Gets or sets the command, either a SQL statement or a stored procedure, that deletes the DataSet records marked for deletion from the data source when using the Update( ) method.

 InsertCommand 

Gets or sets the command, either a SQL statement or a stored procedure, that inserts new DataSet records into the data source when using the Update( ) method.

 MissingMappingAction 

Specifies the action to take when columns or tables in the incoming data from the data source don't have matching columns or tables in the DataSet .

 MissingSchemaAction 

Specifies the action to take when the schema of the data source doesn't match the DataSet schema.

 SelectCommand 

Gets or sets the command, either a SQL statement or a stored procedure, that selects records from the data source when using the Fill( ) method.

 UpdateCommand 

Gets or sets the command, either a SQL statement or a stored procedure, that updates modified Dataset records in the data source when using the Update( ) method.

The commonly used public collections of the DataAdapter class are listed in Table 29-3.

Table 29-3. DataAdapter collections

Collection

Description

 TableMappings 

Accesses the DataTableMappingCollection , which contains table and column name mapping information for reconciling the disconnected data with the data source, as a collection of DataTableMapping objects.

The commonly used public methods of the DataAdapter class are listed in Table 29-4.

Table 29-4. DataAdapter methods

Method

Description

 Fill(  ) 

Adds new rows or refreshes rows in the DataSet with data from the data source.

 FillSchema(  ) 

Adds an empty table to the DataSet and configures its schema to match the data source.

 GetFillParameters(  ) 

Returns an array of parameter objects for the SelectCommand .

 Update(  ) 

Submits changes in the DataSet to the data source for reconciliation.

The commonly used public events of the DataAdapter class are listed in Table 29-5.

Table 29-5. DataAdapter events

Event

Description

 FillError 

Raised when an error is encountered during a Fill( ) operation.

 RowUpdating 

Raised before the command to reconcile a DataSet row with the data source row has been executed.

 RowUpdated 

Raised after the command to reconcile a DataSet row with the data source row has been executed.

The DataAdapter class inherits from Component and implements the IDataAdapter interface. Public static members of this class are safe for multithreaded operations; instance members aren't guaranteed to be thread-safe.



ADO. NET in a Nutshell
ADO.NET in a Nutshell
ISBN: 0596003617
EAN: 2147483647
Year: 2005
Pages: 415

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net