2008-12-18 5 views

Répondre

4

il lit toute la ligne sur l'opération de lecture.

+0

Y at-il quelque chose dans ADO.NET qui ne lit pas toute la ligne, ou tout doit-il être limité par les colonnes incluses dans l'instruction SELECT? – MusiGenesis

+0

@MusiGenesis: ce dernier; c'est un peu le point de spécifier les colonnes dans l'instruction select! –

+0

Je suis d'accord avec Steven, vous devriez seulement spécifier les colonnes que vous voulez – lomaxx

0

Je pense que vous recherchez la méthode ExecuteScalar du lecteur de données et que vous souhaitez spécifier vos colonnes dans votre commande sql.

1

L'opération de lecture lit la ligne entière. La taille de la ligne est déterminée par votre instruction select. Donc, si vous avez un millier de colonnes et que vous voulez seulement 4, vous pouvez le faire dans votre sélection. Si d'autre part, vous voulez 5 colonnes si la colonne 1 est Y et 8 colonnes si c'est N, alors votre chance, cela ne peut pas être fait avec un seul select * from table. La raison pour laquelle cela ne peut pas être fait est que l'appel à la base de données renvoie un flux de données (le jeu de résultats) aussi vite que possible, il n'y a plus de communication entre les deux, et même s'il y en avait, devrait être sur des lignes UNSENT car la ligne courante aurait déjà été envoyée et reçue. Faire ce dont vous parlez exigerait une communication bidirectionnelle sur chaque colonne, ce qui tuerait la performance sauf dans des circonstances vraiment exceptionnelles. Faire cela même en ligne serait généralement inefficace.

Questions connexes