Si nous sélectionnons un grand nombre de lignes et que nous utilisons un SqlDataReader, retournera-t-il les lignes telles qu'elles sont ou attendra-t-elle que l'opération soit terminée?SqlDataReader renvoie les lignes
est avec C# .net
Si nous sélectionnons un grand nombre de lignes et que nous utilisons un SqlDataReader, retournera-t-il les lignes telles qu'elles sont ou attendra-t-elle que l'opération soit terminée?SqlDataReader renvoie les lignes
est avec C# .net
Il retournera les lignes comme ils viennent. Chaque fois que vous appelez SqlDataReader.Read();
, la ligne suivante est extraite du tampon réseau du client. Une seule ligne est gardée en mémoire sur chaque Read()
.
// Starts getting the data from the query
IDataReader reader = cmd.ExecuteReader(behavior);
// Calling .Read() will get the next result from the client network buffer
while (reader.Read())
{
// Do something with the row data
}
Plus d'informations here.
Ils sont diffusés. Si vous passez en revue la section "remarques", il indique que certaines propriétés ne peuvent être lues en toute sécurité qu'une fois le lecteur fermé. Si le jeu de résultats complet était connu avant le démarrage, ces propriétés seraient sûres à lire pendant que le lecteur était ouvert.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx
indique qu'il les retournera tous en même temps. – msarchet