DataAdapter.FillSchema Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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
- 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:
AutoIncrement. È necessario impostare AutoIncrementStep e AutoIncrementSeed separatamente.
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
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