Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe SqlDataReader

 

Data di pubblicazione: ottobre 2016

Consente di leggere un flusso forward-only di righe da un database SQL Server. Questa classe non può essere ereditata.

Spazio dei nomi:   System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

System.Object
  System.MarshalByRefObject
    System.Data.Common.DbDataReader
      System.Data.SqlClient.SqlDataReader

public class SqlDataReader : DbDataReader, IDataReader, IDisposable, 
	IDataRecord

NomeDescrizione
System_CAPS_protpropertyConnection

Ottiene l'oggetto SqlConnection associato all'oggetto SqlDataReader.

System_CAPS_pubpropertyDepth

Ottiene un valore che indica il livello di nidificazione della riga corrente.(Esegue l'override di DbDataReader.Depth.)

System_CAPS_pubpropertyFieldCount

Ottiene il numero di colonne nella riga corrente.(Esegue l'override di DbDataReader.FieldCount.)

System_CAPS_pubpropertyHasRows

Ottiene un valore che indica se la SqlDataReader contiene una o più righe.(Esegue l'override di DbDataReader.HasRows.)

System_CAPS_pubpropertyIsClosed

Recupera un valore booleano che indica se l'oggetto specificato SqlDataReader istanza è stata chiusa.(Esegue l'override di DbDataReader.IsClosed.)

System_CAPS_pubpropertyItem[Int32]

Ottiene il valore della colonna specificata nel formato nativo, dato l'ordinale della colonna.(Esegue l'override di DbDataReader.Item[Int32].)

System_CAPS_pubpropertyItem[String]

Ottiene il valore della colonna specificata nel formato nativo, dato il nome della colonna.(Esegue l'override di DbDataReader.Item[String].)

System_CAPS_pubpropertyRecordsAffected

Ottiene il numero di righe modificate, inserite o eliminate dall'esecuzione dell'istruzione Transact-SQL.(Esegue l'override di DbDataReader.RecordsAffected.)

System_CAPS_pubpropertyVisibleFieldCount

Ottiene il numero di campi non nascosti in SqlDataReader.(Esegue l'override di DbDataReader.VisibleFieldCount.)

NomeDescrizione
System_CAPS_pubmethodClose()

Chiude l'oggetto SqlDataReader.(Esegue l'override di DbDataReader.Close().)

System_CAPS_pubmethodCreateObjRef(Type)

Crea un oggetto che contiene le informazioni necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodDispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe DbDataReader.(Ereditato da DbDataReader.)

System_CAPS_protmethodDispose(Boolean)

Rilascia le risorse gestite utilizzate per la DbDataReader ed eventualmente rilascia le risorse non gestite.(Ereditato da DbDataReader.)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetBoolean(Int32)

Ottiene il valore della colonna specificata come valore Boolean.(Esegue l'override di DbDataReader.GetBoolean(Int32).)

System_CAPS_pubmethodGetByte(Int32)

Ottiene il valore della colonna specificata come byte.(Esegue l'override di DbDataReader.GetByte(Int32).)

System_CAPS_pubmethodGetBytes(Int32, Int64, Byte[], Int32, Int32)

Legge un flusso di byte dall'offset della colonna specificata nel buffer una matrice a partire dall'offset del buffer specificato.(Esegue l'override di DbDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32).)

System_CAPS_pubmethodGetChar(Int32)

Ottiene il valore della colonna specificata come singolo carattere.(Esegue l'override di DbDataReader.GetChar(Int32).)

System_CAPS_pubmethodGetChars(Int32, Int64, Char[], Int32, Int32)

Legge un flusso di caratteri dall'offset della colonna specificata nel buffer come una matrice a partire dall'offset del buffer specificato.(Esegue l'override di DbDataReader.GetChars(Int32, Int64, Char[], Int32, Int32).)

System_CAPS_pubmethodGetData(Int32)

Restituisce un DbDataReader oggetto per l'ordinale di colonna richiesto.(Ereditato da DbDataReader.)

System_CAPS_pubmethodGetDataTypeName(Int32)

Ottiene una stringa che rappresenta il tipo di dati della colonna specificata.(Esegue l'override di DbDataReader.GetDataTypeName(Int32).)

System_CAPS_pubmethodGetDateTime(Int32)

Ottiene il valore della colonna specificata come oggetto DateTime.(Esegue l'override di DbDataReader.GetDateTime(Int32).)

System_CAPS_pubmethodGetDateTimeOffset(Int32)

Recupera il valore della colonna specificata come un DateTimeOffset oggetto.

System_CAPS_protmethodGetDbDataReader(Int32)

Restituisce un oggetto DbDataReader per l'ordinale di colonna richiesto, di cui è possibile eseguire l'override tramite un'implementazione specifica del provider.(Ereditato da DbDataReader.)

System_CAPS_pubmethodGetDecimal(Int32)

Ottiene il valore della colonna specificata come oggetto Decimal.(Esegue l'override di DbDataReader.GetDecimal(Int32).)

System_CAPS_pubmethodGetDouble(Int32)

Ottiene il valore della colonna specificata come numero a virgola mobile con precisione doppia.(Esegue l'override di DbDataReader.GetDouble(Int32).)

System_CAPS_pubmethodGetEnumerator()

Restituisce un oggetto IEnumerator che esegue l'iterazione di SqlDataReader.(Esegue l'override di DbDataReader.GetEnumerator().)

System_CAPS_pubmethodGetFieldType(Int32)

Ottiene il Type che rappresenta il tipo di dati dell'oggetto.(Esegue l'override di DbDataReader.GetFieldType(Int32).)

System_CAPS_pubmethodGetFieldValue<T>(Int32)

Ottiene in modo sincrono il valore della colonna specificata come un tipo. GetFieldValueAsync<T> è la versione asincrona del metodo.(Esegue l'override di DbDataReader.GetFieldValue<T>(Int32).)

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32)

Ottiene in modo asincrono il valore della colonna specificata come tipo.(Ereditato da DbDataReader.)

System_CAPS_pubmethodGetFieldValueAsync<T>(Int32, CancellationToken)

Ottiene in modo asincrono il valore della colonna specificata come tipo. GetFieldValue<T> è la versione sincrona del metodo.(Esegue l'override di DbDataReader.GetFieldValueAsync<T>(Int32, CancellationToken).)

System_CAPS_pubmethodGetFloat(Int32)

Ottiene il valore della colonna specificata come numero a virgola mobile con precisione singola.(Esegue l'override di DbDataReader.GetFloat(Int32).)

System_CAPS_pubmethodGetGuid(Int32)

Ottiene il valore della colonna specificata come identificatore univoco globale (GUID).(Esegue l'override di DbDataReader.GetGuid(Int32).)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetInt16(Int32)

Ottiene il valore della colonna specificata come un intero con segno a 16 bit.(Esegue l'override di DbDataReader.GetInt16(Int32).)

System_CAPS_pubmethodGetInt32(Int32)

Ottiene il valore della colonna specificata come un intero con segno a 32 bit.(Esegue l'override di DbDataReader.GetInt32(Int32).)

System_CAPS_pubmethodGetInt64(Int32)

Ottiene il valore della colonna specificata come integer con segno a 64 bit.(Esegue l'override di DbDataReader.GetInt64(Int32).)

System_CAPS_pubmethodGetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodGetName(Int32)

Ottiene il nome della colonna specificata.(Esegue l'override di DbDataReader.GetName(Int32).)

System_CAPS_pubmethodGetOrdinal(String)

Ottiene l'ordinale di colonna, dato il nome della colonna.(Esegue l'override di DbDataReader.GetOrdinal(String).)

System_CAPS_pubmethodGetProviderSpecificFieldType(Int32)

Ottiene un Object che è una rappresentazione del tipo di campo specifico del provider sottostante.(Esegue l'override di DbDataReader.GetProviderSpecificFieldType(Int32).)

System_CAPS_pubmethodGetProviderSpecificValue(Int32)

Ottiene un Object che è una rappresentazione del valore specifico del provider sottostante.(Esegue l'override di DbDataReader.GetProviderSpecificValue(Int32).)

System_CAPS_pubmethodGetProviderSpecificValues(Object[])

Ottiene una matrice di oggetti che sono una rappresentazione dei valori specifici del provider sottostante.(Esegue l'override di DbDataReader.GetProviderSpecificValues(Object[]).)

System_CAPS_pubmethodGetSchemaTable()

Restituisce un oggetto DataTable che descrive i metadati della colonna di SqlDataReader.(Esegue l'override di DbDataReader.GetSchemaTable().)

System_CAPS_pubmethodGetSqlBinary(Int32)

Ottiene il valore della colonna specificata come un SqlBinary.

System_CAPS_pubmethodGetSqlBoolean(Int32)

Ottiene il valore della colonna specificata come un SqlBoolean.

System_CAPS_pubmethodGetSqlByte(Int32)

Ottiene il valore della colonna specificata come un SqlByte.

System_CAPS_pubmethodGetSqlBytes(Int32)

Ottiene il valore della colonna specificata come SqlBytes.

System_CAPS_pubmethodGetSqlChars(Int32)

Ottiene il valore della colonna specificata come SqlChars.

System_CAPS_pubmethodGetSqlDateTime(Int32)

Ottiene il valore della colonna specificata come un SqlDateTime.

System_CAPS_pubmethodGetSqlDecimal(Int32)

Ottiene il valore della colonna specificata come un SqlDecimal.

System_CAPS_pubmethodGetSqlDouble(Int32)

Ottiene il valore della colonna specificata come un SqlDouble.

System_CAPS_pubmethodGetSqlGuid(Int32)

Ottiene il valore della colonna specificata come un SqlGuid.

System_CAPS_pubmethodGetSqlInt16(Int32)

Ottiene il valore della colonna specificata come un SqlInt16.

System_CAPS_pubmethodGetSqlInt32(Int32)

Ottiene il valore della colonna specificata come un SqlInt32.

System_CAPS_pubmethodGetSqlInt64(Int32)

Ottiene il valore della colonna specificata come un SqlInt64.

System_CAPS_pubmethodGetSqlMoney(Int32)

Ottiene il valore della colonna specificata come un SqlMoney.

System_CAPS_pubmethodGetSqlSingle(Int32)

Ottiene il valore della colonna specificata come un SqlSingle.

System_CAPS_pubmethodGetSqlString(Int32)

Ottiene il valore della colonna specificata come un SqlString.

System_CAPS_pubmethodGetSqlValue(Int32)

Restituisce il valore dei dati nella colonna specificata come tipo di SQL Server.

System_CAPS_pubmethodGetSqlValues(Object[])

Riempie una matrice di Object che contiene i valori per tutte le colonne nel record, espressi come tipi SQL Server.

System_CAPS_pubmethodGetSqlXml(Int32)

Ottiene il valore della colonna specificata come un valore XML.

System_CAPS_pubmethodGetStream(Int32)

Recupera binary, image, varbinary, tipo definito dall'utente e come tipi di dati variant un Stream.(Esegue l'override di DbDataReader.GetStream(Int32).)

System_CAPS_pubmethodGetString(Int32)

Ottiene il valore della colonna specificata come stringa.(Esegue l'override di DbDataReader.GetString(Int32).)

System_CAPS_pubmethodGetTextReader(Int32)

Recupera Char, NChar, NText, NVarChar, text, varChar e tipi di dati Variant come un TextReader.(Esegue l'override di DbDataReader.GetTextReader(Int32).)

System_CAPS_pubmethodGetTimeSpan(Int32)

Recupera il valore della colonna specificata come un TimeSpan oggetto.

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodGetValue(Int32)

Ottiene il valore della colonna specificata nel formato nativo.(Esegue l'override di DbDataReader.GetValue(Int32).)

System_CAPS_pubmethodGetValues(Object[])

Popola una matrice di oggetti con i valori della colonna della riga corrente.(Esegue l'override di DbDataReader.GetValues(Object[]).)

System_CAPS_pubmethodGetXmlReader(Int32)

Consente di recuperare dati di tipo XML come un XmlReader.

System_CAPS_pubmethodInitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.(Ereditato da MarshalByRefObject.)

System_CAPS_protmethodIsCommandBehavior(CommandBehavior)

Determina se l'oggetto specificato CommandBehavior corrisponde a quello di SqlDataReader .

System_CAPS_pubmethodIsDBNull(Int32)

Ottiene un valore che indica se la colonna contiene valori inesistenti o mancanti.(Esegue l'override di DbDataReader.IsDBNull(Int32).)

System_CAPS_pubmethodIsDBNullAsync(Int32)

Una versione asincrona del IsDBNull, che ottiene un valore che indica se la colonna contiene valori inesistenti o mancanti.(Ereditato da DbDataReader.)

System_CAPS_pubmethodIsDBNullAsync(Int32, CancellationToken)

Una versione asincrona del IsDBNull, che ottiene un valore che indica se la colonna contiene valori inesistenti o mancanti.

Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto attività restituito.(Esegue l'override di DbDataReader.IsDBNullAsync(Int32, CancellationToken).)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject oggetto.(Ereditato da MarshalByRefObject.)

System_CAPS_pubmethodNextResult()

Sposta il lettore di dati al risultato successivo, durante la lettura dei risultati delle istruzioni batch Transact-SQL.(Esegue l'override di DbDataReader.NextResult().)

System_CAPS_pubmethodNextResultAsync()

Una versione asincrona del NextResult, che sposta il lettore al risultato successivo durante la lettura dei risultati di un batch di istruzioni.

Richiama NextResultAsync con CancellationToken.None.(Ereditato da DbDataReader.)

System_CAPS_pubmethodNextResultAsync(CancellationToken)

Una versione asincrona del NextResult, che sposta il lettore di dati al risultato successivo durante la lettura dei risultati del batch Transact-SQL istruzioni.

Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto attività restituito.(Esegue l'override di DbDataReader.NextResultAsync(CancellationToken).)

System_CAPS_pubmethodRead()

Sposta l'oggetto SqlDataReader al record successivo.(Esegue l'override di DbDataReader.Read().)

System_CAPS_pubmethodReadAsync()

Una versione asincrona del Read, che sposta il lettore al record successivo in un set di risultati. Questo metodo richiama ReadAsync con CancellationToken.None.(Ereditato da DbDataReader.)

System_CAPS_pubmethodReadAsync(CancellationToken)

Una versione asincrona del Read, che sposta la SqlDataReader al record successivo.

Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto attività restituito.(Esegue l'override di DbDataReader.ReadAsync(CancellationToken).)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDataRecord.GetData(Int32)

Restituisce un IDataReader per l'ordinale della colonna specificata.

NomeDescrizione
System_CAPS_pubmethodAsParallel()

Sottoposto a overload. Consente la parallelizzazione di una query.(Definito da ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sottoposto a overload. Converte un IEnumerable a un IQueryable.(Definito da Queryable.)

System_CAPS_pubmethodCast<TResult>()

Esegue il cast di elementi di un IEnumerable nel tipo specificato.(Definito da Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra gli elementi di un IEnumerable in base a un tipo specificato.(Definito da Enumerable.)

To create a T:System.Data.SqlClient.SqlDataReader, you must call the M:System.Data.SqlClient.SqlCommand.ExecuteReader method of the T:System.Data.SqlClient.SqlCommand object, instead of directly using a constructor.

While the T:System.Data.SqlClient.SqlDataReader is being used, the associated T:System.Data.SqlClient.SqlConnection is busy serving the T:System.Data.SqlClient.SqlDataReader, and no other operations can be performed on the T:System.Data.SqlClient.SqlConnection other than closing it. This is the case until the M:System.Data.SqlClient.SqlDataReader.Close method of the T:System.Data.SqlClient.SqlDataReader is called. For example, you cannot retrieve output parameters until after you call M:System.Data.SqlClient.SqlDataReader.Close.

Changes made to a result set by another process or thread while data is being read may be visible to the user of the SqlDataReader. However, the precise behavior is timing dependent.

IsClosed and RecordsAffected are the only properties that you can call after the SqlDataReader is closed. Although the RecordsAffected property may be accessed while the SqlDataReader exists, always call Close before returning the value of RecordsAffected to guarantee an accurate return value.

When using sequential access (F:System.Data.CommandBehavior.SequentialAccess), an T:System.InvalidOperationException will be raised if the T:System.Data.SqlClient.SqlDataReader position is advanced and another read operation is attempted on the previous column.

System_CAPS_noteNota

For optimal performance, T:System.Data.SqlClient.SqlDataReader avoids creating unnecessary objects or making unnecessary copies of data. Therefore, multiple calls to methods such as M:System.Data.SqlClient.SqlDataReader.GetValue(System.Int32) return a reference to the same object. Use caution if you are modifying the underlying value of the objects returned by methods such as M:System.Data.SqlClient.SqlDataReader.GetValue(System.Int32).

The following example creates a T:System.Data.SqlClient.SqlConnection, a T:System.Data.SqlClient.SqlCommand, and a T:System.Data.SqlClient.SqlDataReader. The example reads through the data, writing it out to the console window. The code then closes the T:System.Data.SqlClient.SqlDataReader. The T:System.Data.SqlClient.SqlConnection is closed automatically at the end of the using code block.

using System;
using System.Data;
using System.Data.SqlClient;


class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=SSPI";
        ReadOrderData(str);
    }

    private static void ReadOrderData(string connectionString)
    {
        string queryString =
            "SELECT OrderID, CustomerID FROM dbo.Orders;";

        using (SqlConnection connection =
                   new SqlConnection(connectionString))
        {
            SqlCommand command =
                new SqlCommand(queryString, connection);
            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            // Call Read before accessing data.
            while (reader.Read())
            {
                ReadSingleRow((IDataRecord)reader);
            }

            // Call Close when done reading.
            reader.Close();
        }
    }

    private static void ReadSingleRow(IDataRecord record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
    }

}

.NET Framework
Disponibile da 1.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: