SqlDataReader.Read 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.
Sposta l'oggetto SqlDataReader al record successivo.
public:
override bool Read();
public override bool Read ();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
Restituisce
true
se sono presenti altre righe. In caso contrario, false
.
Implementazioni
Eccezioni
SQL Server ha restituito un errore durante l'esecuzione del testo del comando.
Esempio
Nell'esempio seguente viene creato un SqlConnectionoggetto , un SqlCommandoggetto e un oggetto SqlDataReader. L'esempio legge i dati, scrivendoli nella finestra della console. Il codice chiude quindi .SqlDataReader L'oggetto SqlConnection viene chiuso automaticamente alla fine del blocco di using
codice.
using Microsoft.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]));
}
}
Commenti
La posizione predefinita di SqlDataReader è prima del primo record. Pertanto, è necessario chiamare Read per iniziare ad accedere a tutti i dati.
Solo uno SqlDataReader
per ogni associato SqlConnection può essere aperto alla volta e qualsiasi tentativo di apertura di un altro avrà esito negativo fino a quando il primo non viene chiuso. Analogamente, mentre viene usato , l'oggetto SqlDataReader
associato è occupato fino a SqlConnection
quando non si chiama Close.