IDataAdapter.FillSchema(DataSet, SchemaType) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Voegt een DataTable benoemde tabel toe aan de opgegeven DataSet en configureert het schema zodat het overeenkomt met het schema in de gegevensbron op basis van de opgegeven SchemaType.
public:
cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Parameters
- schemaType
- SchemaType
Een van de SchemaType waarden.
Retouren
Een matrix met DataTable objecten die schemagegevens bevatten die worden geretourneerd door de gegevensbron.
Opmerkingen
De FillSchema methode haalt het schema op uit de gegevensbron met behulp van de SelectCommand. Het verbindingsobject dat aan het SelectCommand object is gekoppeld, moet geldig zijn, maar hoeft niet geopend te zijn. Als de verbinding wordt gesloten voordat FillSchema deze wordt aangeroepen, wordt deze geopend om gegevens op te halen en vervolgens gesloten. Als de verbinding is geopend voordat FillSchema deze wordt aangeroepen, blijft deze geopend.
Met een FillSchema bewerking wordt een DataTable aan het doel DataSettoegevoegd. Vervolgens worden kolommen toegevoegd aan de DataColumnCollection en DataTable configureert u de volgende DataColumn eigenschappen als deze aanwezig zijn in de gegevensbron:
AutoIncrement. U moet deze instellen en AutoIncrementSeed afzonderlijk instellenAutoIncrementStep.
FillSchema configureert ook de PrimaryKey en Constraints eigenschappen volgens de volgende regels:
Als een of meer primaire-sleutelkolommen door de SelectCommandkolom worden geretourneerd, worden ze gebruikt als de primaire-sleutelkolommen voor de DataTable.
Als er geen primaire-sleutelkolommen worden geretourneerd, maar unieke kolommen wel zijn, worden de unieke kolommen gebruikt als primaire sleutel als alle unieke kolommen niet nullbaar zijn. Als een van de kolommen nullable is, wordt er een UniqueConstraint toegevoegd aan de ConstraintCollection, maar de PrimaryKey eigenschap is niet ingesteld.
Als zowel primaire-sleutelkolommen als unieke kolommen worden geretourneerd, worden de primaire-sleutelkolommen gebruikt als de primaire-sleutelkolommen voor de DataTable.
Houd er rekening mee dat primaire sleutels en unieke beperkingen worden toegevoegd aan de ConstraintCollection regels volgens de vorige regels, maar andere beperkingstypen worden niet toegevoegd.
Als een unieke geclusterde index is gedefinieerd voor een kolom of kolommen in een SQL Server tabel en de primaire-sleutelbeperking is gedefinieerd voor een afzonderlijke set kolommen, worden de namen van de kolommen in de geclusterde index geretourneerd. Als u de naam of namen van de primaire-sleutelkolommen wilt retourneren, gebruikt u een queryhint met de SELECT-instructie waarmee de naam van de primaire-sleutelindex wordt opgegeven. Zie Hints (Transact-SQL) - Query voor meer informatie over het opgeven van queryhints.
Als er IDataAdapter dubbele kolommen optreden tijdens het vullen van een DataTablekolom, worden er namen gegenereerd voor de opeenvolgende kolommen, met behulp van het patroon 'columnname1', 'columnname2', 'columnname3', enzovoort. Als de binnenkomende gegevens niet-benoemde kolommen bevatten, worden ze in het DataSet patroon Kolom1, Kolom2 enzovoort geplaatst. Wanneer er meerdere resultatensets aan de DataSetset worden toegevoegd, wordt elke resultatenset in een afzonderlijke tabel geplaatst. Aanvullende resultatensets worden benoemd door integrale waarden toe te voegen aan de opgegeven tabelnaam (bijvoorbeeld 'Tabel', 'Tabel1', 'Tabel2', enzovoort). Toepassingen moeten voorzichtig zijn bij het gebruik van kolom- en tabelnamen om ervoor te zorgen dat conflicten met deze naamgevingspatronen niet optreden.
FillSchema retourneert geen rijen. Gebruik de Fill methode om rijen toe te voegen aan een DataTable.