DataAdapter.FillSchema Metodo

Definizione

Aggiunge una classe DataTable alla classe DataSet specificata.

Overload

FillSchema(DataSet, SchemaType, String, IDataReader)

Aggiunge una classe DataTable alla classe DataSet specificata.

FillSchema(DataSet, SchemaType)

Aggiunge un oggetto DataTable all'oggetto DataSet specificato e di configurare lo schema in modo che corrisponda a quello dell'origine dati basato sull'oggetto SchemaType specificato.

FillSchema(DataTable, SchemaType, IDataReader)

Aggiunge una classe DataTable alla classe DataSet specificata.

FillSchema(DataSet, SchemaType, String, IDataReader)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

Aggiunge una classe DataTable alla classe DataSet specificata.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

Parametri

dataSet
DataSet

Classe DataTable da riempire dall'interfaccia IDataReader.

schemaType
SchemaType

Uno dei valori di SchemaType.

srcTable
String

Nome della tabella di origine da usare per il mapping di tabelle.

dataReader
IDataReader

Interfaccia IDataReader da utilizzare come origine dati durante il riempimento della classe DataTable.

Restituisce

Riferimento a una raccolta di oggetti DataTable aggiunti a DataSet.

Vedi anche

Si applica a

FillSchema(DataSet, SchemaType)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

Aggiunge un oggetto DataTable all'oggetto DataSet specificato e di configurare lo schema in modo che corrisponda a quello dell'origine dati basato sull'oggetto SchemaType specificato.

public:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
 abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parametri

dataSet
DataSet

Oggetto DataSet in cui inserire lo schema dall'origine dati.

schemaType
SchemaType

Uno dei valori di SchemaType.

Restituisce

Oggetto DataTable che contiene informazioni di schema restituite dall'origine dati.

Implementazioni

Commenti

Il FillSchema metodo recupera lo schema dall'origine dati usando .SelectCommand L'oggetto di connessione associato all'oggetto SelectCommand deve essere valido, ma non deve essere aperto. Se la connessione viene chiusa prima FillSchema della chiamata, viene aperta per recuperare i dati e quindi chiusa. Se la connessione è aperta prima FillSchema della chiamata, rimane aperta.

Un'operazione FillSchema aggiunge un oggetto DataTable alla destinazione DataSet. Aggiunge quindi colonne all'oggetto DataColumnCollectionDataTablee configura le proprietà seguenti DataColumn se presenti nell'origine dati:

FillSchema configura anche le PrimaryKey proprietà e Constraints in base alle regole seguenti:

  • Se una o più colonne chiave primaria vengono restituite dall'oggetto SelectCommand, vengono usate come colonne chiave primaria per .DataTable

  • Se non vengono restituite colonne chiave primaria ma colonne univoche, le colonne univoche vengono usate come chiave primaria se e solo se tutte le colonne univoche non sonoullable. Se una delle colonne è nullable, viene aggiunta ConstraintCollectiona UniqueConstraint , ma la PrimaryKey proprietà non è impostata.

  • Se vengono restituite sia colonne chiave primaria che colonne univoche, le colonne chiave primaria vengono usate come colonne chiave primaria per .DataTable

Nota

L'archivio dati sottostante può consentire attributi di colonna non supportati in un DataColumnoggetto , che causa la conversione corretta di alcuni attributi di colonna. Ad esempio, SQL Server consente una colonna identity con un tipo di dati tinyint, mentre un DataColumn solo consente a Int16, Int32 e Int64 di avere la AutoIncrement proprietà impostata. FillSchema ignora in modo silenzioso i casi in cui non DataColumn è possibile eseguire il mirroring accurato dell'origine dati e non genera alcuna eccezione.

Si noti che le chiavi primarie e i vincoli univoci vengono aggiunti in base alle ConstraintCollection regole precedenti, ma altri tipi di vincolo non vengono aggiunti.

Se un indice cluster univoco viene definito in una colonna o colonne in una tabella SQL Server e il vincolo di chiave primaria viene definito in un set separato di colonne, verranno restituiti i nomi delle colonne nell'indice cluster. Per restituire il nome o i nomi delle colonne chiave primaria, usare un hint di query con l'istruzione SELECT che specifica il nome dell'indice della chiave primaria. Per altre informazioni sulla specifica di hint di query, vedere Hint (Transact-SQL) - Query.

Se le colonne duplicate vengono visualizzate durante la DataAdapter popolamento di un DataTableoggetto , genera nomi per le colonne successive, usando il modello "columnname 1", "columnname2", "columnname3" e così via. Se i dati in ingresso contengono colonne senza nome, vengono posizionate in DataSet base al modello "Column1", "Column2" e così via. Quando vengono aggiunti più set di risultati a DataSet ogni set di risultati viene inserito in una tabella separata. I set di risultati aggiuntivi vengono denominati aggiungendo valori integrali al nome della tabella specificato, ad esempio "Table", "Table1", "Table2" e così via. Le applicazioni che usano nomi di colonna e tabella devono assicurarsi che non si verifichino conflitti con questi modelli di denominazione.

FillSchema non restituisce righe. Usare il Fill metodo per aggiungere righe a un DataTableoggetto .

Nota

Quando si gestiscono istruzioni SQL batch che restituiscono più risultati, l'implementazione di per il provider di FillSchema dati .NET Framework per OLE DB recupera le informazioni sullo schema solo per il primo risultato. Per recuperare le informazioni sullo schema per più risultati, usare Fill con il MissingSchemaAction set su AddWithKey.

Vedi anche

Si applica a

FillSchema(DataTable, SchemaType, IDataReader)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

Aggiunge una classe DataTable alla classe DataSet specificata.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

Parametri

dataTable
DataTable

Classe DataTable da riempire dall'interfaccia IDataReader.

schemaType
SchemaType

Uno dei valori di SchemaType.

dataReader
IDataReader

Interfaccia IDataReader da utilizzare come origine dati durante il riempimento della classe DataTable.

Restituisce

Oggetto DataTable che contiene informazioni di schema restituite dall'origine dati.

Vedi anche

Si applica a