Retrieving Schema Information from the Data Source
Schema information can be retrieved
from a data source using the FillSchema( )
method, which retrieves the schema
information for the SQL statement in the
SelectCommand. The method adds a
DataTable to the DataSet and
adds DataColumn objects to that table. Finally, it
configures the AllowDBNull,
AutoIncrement, MaxLength,
ReadOnly, and Unique properties
of the DataColumn, based on the data source. While
it configures the AutoIncrement property, it
doesn’t set the AutoIncrementSeed
and AutoIncrementStep properties. The
FillSchema( ) method also configures the primary
key and unique constraints for the DataTable. It
doesn’t configure the
DefaultValue property.
In addition to an argument specifying the DataSet
argument, the FillSchema( ) method takes an
argument specifying whether the schema is transformed by the table
mappings for the data adapter. Mapping tables and columns is
discussed in more detail later in this chapter
If the FillSchema( ) method is used with a table
that already has schema defined, the original schema
isn’t overwritten. Rather, new columns are added if
they are part of the schema retrieved but don’t
exist in the table.
Finally, if a query returning multiple result sets is specified in
the SelectCommand, only the schema from the first
result set is used. To fill schemas based on queries with multiple
result sets, use the Fill( ) method with the
MissingSchemaAction set to
AddWithKey.
The following example demonstrates ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access