Metodo DataCommand.DeriveSchema
Deriva dallo schema restituito dal comando specificato, per indicare il layout degli elementi e dei blocchi di un lettore dati.
Spazio dei nomi: Microsoft.VisualStudio.Data
Assembly: Microsoft.VisualStudio.Data (in Microsoft.VisualStudio.Data.dll)
Sintassi
'Dichiarazione
Public Overridable Function DeriveSchema ( _
command As String, _
commandType As Integer, _
parameters As DataParameter(), _
commandTimeout As Integer _
) As DataReader
public virtual DataReader DeriveSchema(
string command,
int commandType,
DataParameter[] parameters,
int commandTimeout
)
public:
virtual DataReader^ DeriveSchema(
String^ command,
int commandType,
array<DataParameter^>^ parameters,
int commandTimeout
)
abstract DeriveSchema :
command:string *
commandType:int *
parameters:DataParameter[] *
commandTimeout:int -> DataReader
override DeriveSchema :
command:string *
commandType:int *
parameters:DataParameter[] *
commandTimeout:int -> DataReader
public function DeriveSchema(
command : String,
commandType : int,
parameters : DataParameter[],
commandTimeout : int
) : DataReader
Parametri
command
Tipo: StringUn comando per il quale derivare lo schema specifico a un'origine dati.
commandType
Tipo: Int32Il tipo di comando per il comando indicato, specificando come interpretare il contenuto del parametro command.
parameters
Tipo: array<Microsoft.VisualStudio.Data.DataParameter[]Una matrice di oggetti DataParameter per il tipo specificato il comando. Sebbene questo è un parametro di input, il provider di DDEX può inoltre impostare le proprietà dell'utente attiva e nei parametri di valore restituito. Tuttavia, questi non verranno popolati quando si deriva lo schema.
commandTimeout
Tipo: Int32La durata, in secondi, bloccare il client prima di annullare la derivazione dello schema e restituire il chiamante. Un valore 0 indica il timeout infinito, un valore -1 indica un valore predefinito del provider.
Valore restituito
Tipo: Microsoft.VisualStudio.Data.DataReader
Restituisce un oggetto DataReader.Questo oggetto fornisce un flusso di dati forward-only in sola lettura che descrive il layout degli elementi e dei blocchi, ovvero, lo schema, per l'oggetto del lettore restituito eseguendo il comando specificato.
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | Il comando o i asyncCommandEvents è null. |
ArgumentException | Il commandType specifica un tipo non valido. |
ArgumentOutOfRangeException | Il commandTimeout è minore di -1. |
NotSupportedException | Il provider non supporta questo metodo. |
Note
Lo schema del lettore dati restituito da questo metodo deve seguire un formato specifico. Per ogni risultato che può essere restituito quando si esegue il comando, deve essere un risultato nel lettore dati. Ognuno di questi risultati deve contenere blocchi che descrivono elementi che verranno restituiti quando si esegue il comando. La descrizione deve contenere punti seguenti:
Nome (stringa): il nome dell'elemento.
(Int32) ordinale: la posizione dell'elemento.
UserDataType (stringa): il tipo di dati utente dell'elemento, ad esempio "tipo").
NativeDataType (stringa): il tipo di dati nativo dell'elemento, ad esempio "nvarchar").
ProviderDataType (Int32): il tipo di dati del provider dell'elemento (ad esempio, System.Data.DbType.StringFixedLength).
FrameworkDataType (tipo): il tipo di dati del framework dell'elemento (ad esempio, System.Int32).
Lunghezza (Int32): la lunghezza massima di un elemento, se disponibile.
(Int32) precisione: la precisione di un elemento, se disponibile.
(nt32) scala: la scala di un elemento, se disponibile.
Nullable (booleane): il nullability di un elemento.
Gli elementi che un provider non supporta, ad esempio una qualche forma del tipo di dati devono essere presenti ma impostati su nullriferimento null (Nothing in Visual Basic).
Nota
Altre eccezioni che si verificano indicano che la derivazione di parametro è riuscita per un motivo provider specificato.
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.