IDataAdapter.FillSchema(DataSet, SchemaType) IDataAdapter.FillSchema(DataSet, SchemaType) IDataAdapter.FillSchema(DataSet, SchemaType) Method

Definizione

Aggiunge un oggetto DataTable denominato "Table" all'oggetto DataSet specificato e configura lo schema in modo che corrisponda a quello nell'origine dati in base all'oggetto SchemaType specificato.Adds a DataTable named "Table" to the specified DataSet and configures the schema to match that in the data source based on the specified 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[]

Parametri

dataSet
DataSet DataSet DataSet

Oggetto DataSet in cui inserire lo schema dall'origine dati.The DataSet to be filled with the schema from the data source.

schemaType
SchemaType SchemaType SchemaType

Uno dei valori di SchemaType.One of the SchemaType values.

Restituisce

Matrice di oggetti DataTable che contiene informazioni di schema restituite dall'origine dati.An array of DataTable objects that contain schema information returned from the data source.

Commenti

Il FillSchema metodo consente di recuperare lo schema dell'origine dati utilizzando il SelectCommand.The FillSchema method retrieves the schema from the data source using the SelectCommand. L'oggetto connessione associato il SelectCommand deve essere valido, ma non è necessario che sia aperta.The connection object associated with the SelectCommand must be valid, but it does not need to be open. Se la connessione viene chiusa prima FillSchema viene chiamato, verrà aperta per recuperare i dati, quindi chiuso.If the connection is closed before FillSchema is called, it is opened to retrieve data, then closed. Se la connessione viene aperta prima FillSchema viene chiamato, rimane aperto.If the connection is open before FillSchema is called, it remains open.

Oggetto FillSchema operazione consente di aggiungere un' DataTable alla destinazione DataSet.A FillSchema operation adds a DataTable to the destination DataSet. Aggiunge quindi le colonne per la DataColumnCollection del DataTable e configura gli elementi seguenti DataColumn proprietà, se sono presenti nell'origine dati:It then adds columns to the DataColumnCollection of the DataTable and configures the following DataColumn properties if they exist at the data source:

FillSchema Configura anche il PrimaryKey e Constraints proprietà in base alle regole seguenti:FillSchema also configures the PrimaryKey and Constraints properties according to the following rules:

  • Se vengono restituite uno o più colonne chiave primaria per la SelectCommand, vengono utilizzati come colonne chiave primaria per la DataTable.If one or more primary key columns are returned by the SelectCommand, they are used as the primary key columns for the DataTable.

  • Se viene restituita alcuna colonna chiave primaria, ma sono colonne univoche, le colonne univoche vengono usate come chiave primaria se tutte le colonne univoche siano non nullable.If no primary key columns are returned but unique columns are, the unique columns are used as the primary key if all the unique columns are non-nullable. Se le colonne ammettono valori null, un UniqueConstraint viene aggiunto al ConstraintCollection, ma il PrimaryKey proprietà non è impostata.If any of the columns are nullable, a UniqueConstraint is added to the ConstraintCollection, but the PrimaryKey property is not set.

  • Se vengono restituite sia colonne chiave primaria e univoche colonne, le colonne chiave primaria vengono utilizzate come colonne chiave primaria per la DataTable.If both primary key columns and unique columns are returned, the primary key columns are used as the primary key columns for the DataTable.

Si noti che le chiavi primarie e i vincoli unique vengono aggiunti i ConstraintCollection in base alle regole precedenti, ma gli altri vincoli non vengono aggiunti i tipi.Note that primary keys and unique constraints are added to the ConstraintCollection according to the previous rules, but other constraint types are not added.

Se un valore univoco in cluster viene definito indice su una o più colonne in una tabella di SQL Server e il vincolo di chiave primaria è definito in un set diverso di colonne, i nomi delle colonne nell'indice cluster non verranno restituito.If a unique clustered index is defined on a column or columns in a SQL Server table and the primary key constraint is defined on a separate set of columns, then the names of the columns in the clustered index will be returned. 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.To return the name or names of the primary key columns, use a query hint with the SELECT statement that specifies the name of the primary key index. Per altre informazioni su come specificare hint per la query, vedere Hint per la Query (Transact-SQL).For more information about how to specify query hints, see Query Hint (Transact-SQL).

Se il IDataAdapter rileva colonne duplicate durante la compilazione di un DataTable, genera nomi per le colonne successive, usando il modello "nomecolonna1", "nomecolonna2", "columnname3" e così via.If the IDataAdapter encounters duplicate columns while populating a DataTable, it generates names for the successive columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. Se i dati in ingresso contengano colonne senza nome, e vengono inseriti nel DataSet secondo il criterio "Column1", "Column2" e così via.If the incoming data contains unnamed columns, they are put in the DataSet according to the pattern "Column1", "Column2", and so on. Quando vengono aggiunti più set di risultati per il DataSet, ogni set di risultati viene inserito in una tabella separata.When multiple result sets are added to the DataSet, each result set is put in a separate table. Set di risultati aggiuntivi viene creato aggiungendo i valori integrali al nome della tabella specificato (ad esempio, "Table", "Table1", "Table2" e così via).Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). Le applicazioni devono prestare attenzione quando si usano nomi di colonna e tabella per garantire che non si verificano conflitti con questi modelli di denominazione.Applications should use caution when using column and table names to ensure that conflicts with these naming patterns do not occur.

FillSchema non restituisce alcuna riga.FillSchema returns no rows. Usare la Fill metodo per aggiungere righe a un DataTable.Use the Fill method to add rows to a DataTable.

Si applica a

Vedi anche