Condividi tramite


DataAdapter.FillSchema Metodo

Definizione

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

Overload

Nome Descrizione
FillSchema(DataSet, SchemaType, String, IDataReader)

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

FillSchema(DataSet, SchemaType)

Aggiunge un DataTable oggetto all'oggetto specificato DataSet e configura lo schema in modo che corrisponda a quello nell'origine dati in base all'oggetto specificato SchemaType.

FillSchema(DataTable, SchemaType, IDataReader)

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

FillSchema(DataSet, SchemaType, String, IDataReader)

Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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[]
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

Oggetto DataTable da riempire dall'oggetto IDataReader.

schemaType
SchemaType

Uno dei SchemaType valori.

srcTable
String

Nome della tabella di origine da utilizzare per il mapping delle tabelle.

dataReader
IDataReader

Oggetto IDataReader da utilizzare come origine dati durante il riempimento di DataTable.

Restituisce

Riferimento a una raccolta di DataTable oggetti aggiunti all'oggetto DataSet.

Attributi

Vedi anche

Si applica a

FillSchema(DataSet, SchemaType)

Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs

Aggiunge un DataTable oggetto all'oggetto specificato DataSet e configura lo schema in modo che corrisponda a quello nell'origine dati in base all'oggetto specificato SchemaType.

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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public virtual 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
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[]
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 da riempire con lo schema dall'origine dati.

schemaType
SchemaType

Uno dei SchemaType valori.

Restituisce

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

Implementazioni

Attributi

Commenti

Il FillSchema metodo recupera lo schema dall'origine dati utilizzando .SelectCommand L'oggetto connessione associato a 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 le colonne a DataColumnCollection di DataTablee 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 da 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 sono nullable. Se una delle colonne è nullable, viene aggiunto un oggetto UniqueConstraint a ConstraintCollection, ma la PrimaryKey proprietà non è impostata.

  • Se vengono restituite entrambe le colonne chiave primaria e le colonne univoche, le colonne chiave primaria vengono usate come colonne chiave primaria per .DataTable

Annotazioni

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 a una colonna Identity con un tipo di dati tinyint, mentre un DataColumn consente solo a Int16, Int32 e Int64 di impostare la AutoIncrement proprietà. FillSchema ignora automaticamente i casi in cui l'oggetto DataColumn non può eseguire il mirroring accurato dell'origine dati e non genera alcuna eccezione.

Si noti che le chiavi primarie e i vincoli univoci vengono aggiunti a 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 in colonne di una tabella di 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 per la query con l'istruzione SELECT che specifica il nome dell'indice di chiave primaria. Per altre informazioni sulla specifica degli hint per la query, vedere Hint (Transact-SQL) - Query.

Se rileva colonne duplicate durante il DataAdapter popolamento di , DataTablegenera nomi per le colonne successive, usando il modello "columnname1", "columnname2", "columnname3" e così via. Se i dati in ingresso contengono colonne senza nome, vengono posizionate nell'oggetto DataSet in 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 di tabella devono garantire che non si verifichino conflitti con questi modelli di denominazione.

FillSchema non restituisce righe. Utilizzare il Fill metodo per aggiungere righe a un oggetto DataTable.

Annotazioni

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 informazioni sullo schema per più risultati, usare Fill con il MissingSchemaAction set su AddWithKey.

Vedi anche

Si applica a

FillSchema(DataTable, SchemaType, IDataReader)

Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs
Origine:
DataAdapter.cs

Aggiunge un DataTable oggetto all'oggetto specificato DataSet.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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
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

Oggetto DataTable da riempire dall'oggetto IDataReader.

schemaType
SchemaType

Uno dei SchemaType valori.

dataReader
IDataReader

Oggetto IDataReader da utilizzare come origine dati durante il riempimento di DataTable.

Restituisce

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

Attributi

Vedi anche

Si applica a